
摘 要:VFP是一種編程語言,自帶數據庫,擅長數據存儲、處理。其不但可以作為數據庫,又可以編程,且對計算機要求不高,安裝程序也不過百兆。使用VFP處理學校級的考試數據,特別是十萬條以下的數據的處理,建議使用VFP做數據處理。
關鍵詞:VFP;數據庫,程序編程;
一、為報名數據匹配并填入對應字段數據
1.相關數據表:報名數據表[包含字段(有或無數據):學號(有)、姓名(有)、性別(無)、學院(無)、專業(無)、班級(無)、身份證號(無)];學籍數據表(包含字段(有或無數據):學號(有)、姓名(有)、性別(有)、學院(有)、專業(有)、班級(有)、身份證號(有))。]
2.填入對應字段數據要求:對應報名數據表中記錄從學籍數據中提取性別、學院、專業、班級、身份證號填入報名數據庫中。
3.程序編寫及步驟
①建立程序:在命令窗口中輸入:modify command dybmdata.prg 建立dybmdata程序;
②程序編寫內容
Set talk off 阻止對話結果傳送到各窗口
Set exact on 指定相等的表達式必須是每個字符都相匹配
Use 報名數據表.dbf in 1 在工作區1中打開報名數據表
Use 學籍數據表.dbf in 2 在工作區2中打開學籍數據表
Select 2 激活工作區2
Scan 當前表中逐個移動記錄指針
Xh=alltrim(學號) 刪除學號前后空格符,并將學號以字符形式賦予XH
Xm=alltrim(姓名) 刪除姓名前后空格符,并將姓名以字符形式賦予XM
Xb=alltrim(性別) 刪除性別前后空格符,并將性別以字符形式賦予XB
Xy=alltrim(學院) 刪除學院前后空格符,并將學院以字符形式賦予XY
Zy=alltrim(專業) 刪除專業前后空格符,并將專業以字符形式賦予ZY
Bj=alltrim(班級) 刪除班級前后空格符,并將班級以字符形式賦予BJ
Sfz=alltrim(身份證號) 刪除身份證號前后空格符,并將身份證號以字符形式賦予SFZ
Select 1 激活工作區1
Replace 性別 with xb 學院 with xy 專業 with xy 班級 with bj 身份證號 with sfz for 學號=xh and 姓名=xm 更新報名數據表中與學籍表學號、姓名相同的學生信息記錄內容
Endscan 終止移動記錄指針
二、在學籍數據表中導出未報名學生數據
1.相關數據表
報名數據表[包含字段(有或無數據):學號(有)、姓名(有)、性別(有)、學院(有)、專業(有)、班級(有)、身份證號(有)];學籍數據表[包含字段(有或無數據):學號(有)、姓名(有)、性別(有)、學院(有)、專業(有)、班級(有)、身份證號(有)、報名情況(無)]。
2.導出未報名數據要求及思路
將報名數據表中對應已報名學生在學籍數據表中報名情況字段標注“已報名”。在學籍數據表中通過copy to 命令導出未報名學生數據,其目的是查看必考科目是否有學生未報名。
3.程序編寫內容
Set talk off 阻止對話結果傳送到各窗口
Set exact on 指定相等的表達式必須是每個字符都相匹配
Use 報名數據表.dbf in 1 在工作區1中打開報名數據表
Use 學籍數據表.dbf in 2 在工作區2中打開學籍數據表
Select 1 激活工作區1
Scan 當前表中逐個移動記錄指針
Xh=alltrim(學號) 刪除學號前后空格符,并將學號以字符形式賦予XH
Xm=alltrim(姓名) 刪除姓名前后空格符,并將姓名以字符形式賦予XM
Select 2 激活工作區2
Replace 報名情況 with ‘已報名’ for 學號=xh and 姓名=xm 更新學籍數據表中與報名表學號、姓名相同的報名情況為“已報名”
Endscan 終止移動記錄指針
三、統計各班報名人數
1.相關數據表
報名數據表(包含字段:學號、姓名、性別、學院、專業、班級、身份證號)。
2.統計人數思路
從報名數據表中生成學院、專業、班級唯一數據,將數據復制到新表(各班報名人數統計表中)。在統計表增加人數字段,數據類型為整型,編程計算班級報名人數寫入對應人數字段中。
3.程序編寫及步驟
建立程序及命令:生成學院、專業、班級唯一數據:在命令窗口中輸入select distinct學院,專業,班級from報名數據庫.dbf回車
Copy to 各班人數統計表.dbf 回車
建立報名人數統計程序:modify command bmrstjdata.prg
程序編寫內容:
Set talk off 阻止對話結果傳送到各窗口
Set exact on 指定相等的表達式必須是每個字符都相匹配
Use各班人數統計表.dbf in 1 在工作區1中打開各班人數統計表
Use報名數據表.dbf in 2 在工作區2中打開報名數據表
Select 1 激活工作區1
Scan 當前表中逐個移動記錄指針
Xy=alltrim(學院)刪除學院前后空格符,并將學院以字符形式賦予XY
Zy=alltrim(專業)刪除專業前后空格符,并將專業以字符形式賦予ZY
Bj=alltrim(班級)刪除班級前后空格符,并將班級以字符形式賦予BJ
Select 2 激活工作區2
Count for 學院=xy and 專業=zy and 班級=bj to rs 統計報名數據表中與各班人數統計表中相符的記錄數目并附值給RS
Select 1 激活工作區1
Replace 人數 with rs 更新人數統計表中人數字段記錄
Endscan 終止移動記錄指針
以上幾個實例是在考試數據處理中最常用的幾種方法,讀者可以使用其中的各個程序對數據進行相應處理。
?誗編輯 薄躍華