三、綜合應(yīng)用(1小題,計30分)
在考生文件夾下有學生管理數(shù)據(jù)庫stu_five
(1)CHENGJI表(學號C(9)、課程號C(3)、成績I)用于記錄學生的考試成績,其中
一個學生可以有多項記錄(登記一個學生的多門成績)。
(2)KECHENG表(課程號C(3)、課程名 C(10)、最高分I、學號C(9))的內(nèi)容是所開課程,一門課程只有一個記錄(表中有固定的已知數(shù)據(jù))。
請編寫并運行符合下列要求的程序:
設(shè)計一個名為form_my的表單,表單中有兩個命令按鈕,按鈕的名稱分別為
cmdYes和cmdNo,標題分別為"統(tǒng)計"和"關(guān)閉"。
程序運行時,單擊"統(tǒng)計"按鈕應(yīng)完成下列操作:
(1)計算每門課程的最高分,并將結(jié)果存入KECHENG表的最高分字段,同時將得此最高分的學生的學號存入該表的學號字段。
(2)根據(jù)上面的計算結(jié)果,生成一個新的表jiangli,該表按順序含有來自KECHENG表的課程名和最高分兩個字段,并且按最高分降序排序。
單擊"關(guān)閉"按鈕,程序終止運行。
本題主要考核點:
表單的建立、程序設(shè)計中循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)的應(yīng)用、SELECT語句的應(yīng)用等知識點
解題思路:
第一步:利用表單設(shè)計器建立所要求的表單,將在表單上添加兩個按鈕控件。分別設(shè)置兩個按鈕控件的標題和名字屬性。
第二步:雙擊標題為"統(tǒng)計"的按鈕控件,在新打開的窗口中添加此按鈕的CLICK事件代碼:
SET TALK OFF
SELECT 2
USE KECHENG
&&在B工作區(qū)打開KECHENG表
INDEX ON 課程號 TO KC
&&以課程號為排序的依據(jù)對表KECHENG進行排序
SELECT 1
USE CHENGJI
&&在A工作區(qū)打開CHANEGJI表
DO WHILE NOT EOF() &&遍歷CHENGJI表
SELECT 2
SEEK A->課程號 &&在KECHENG表中查找當前成績表所在的課程號
IF 最高分
REPLACE 最高分 WITH A->成績,學號 WITH A->學號
ENDIF
SELECT 1
SKIP
ENDDO
SELECT 課程名,最高分 FROM KECHENG ORDER BY 最高分 INTO TABLE JIANGLI
&&SELECT語句的ORDER BY 子句可以指定查詢結(jié)果的排序依據(jù),默認是以指定排序依據(jù)的升序排序,
&&如果要指定為降序需要用DESC;INTO TABLE 表名 可以將結(jié)果集放入一個永久表中。結(jié)果集也可以
&&放入一個臨時表中:INTO CURSOR 臨時表名 ,也可以放入一個數(shù)組之中:INTO ARRAY 數(shù)組變量名
SET TALK ON
第三步:為標題為"退出"的按鈕控件加入CLICK事件代碼:
THISFORM.RELEASE &&退出表單
第三步:以form_my保存表單
相關(guān)推薦:2010年9月計算機等級考試沖刺備考指導(dǎo)專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |