3.綜合應(yīng)用題
在考生文件夾下有倉庫數(shù)據(jù)庫CHAXUN3,包括3個表文件:
zg(倉庫號C(4),職工號C(4),工資N(4))
dgd(職工號C(4),供應(yīng)商號C(4),訂購單號C(4),訂購日期D,總金額N(10))
gys(供應(yīng)商號C(4),供應(yīng)商名C(16),地址C(10))
設(shè)計一個名為cx3的菜單,菜單中有兩個菜單項“查詢”和“退出”。
程序運(yùn)行時,單擊“查詢”應(yīng)完成下列操作:檢索出工資多于1230元的職工向北京供應(yīng)商發(fā)出的訂購單信息,并將結(jié)果按總金額降序排列存放在order文件中。
單擊“退出”菜單項,程序終止運(yùn)行。
注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下。
【參考答案】
具體步驟如下:
① 在“命令”窗口中輸入命令:CREATE MENU cx3。
② 彈出“新建菜單”對話框,單擊“菜單”圖標(biāo)按鈕。
③ 彈出菜單設(shè)計器,根據(jù)題目要求,首先輸入兩個主菜單名稱“查詢”和“退出”,然后在“查詢”菜單行的“結(jié)果”下拉列表框中選擇“過程”選項(用于編寫程序),在“退出”菜單行的“結(jié)果”下拉列表框中選擇“命令”選項。
、 單擊“查詢”菜單行中的“創(chuàng)建”按鈕,進(jìn)入程序設(shè)計的編輯窗口,輸入如下程序段:
*********“查詢”菜單命令的程序設(shè)計*********
SET TALK OFF
SET SAFETY OFF
SELECT * FROM dgd;
WHERE;
職工號IN(SELECT 職工號 FROM zg WHERE 工資>1230);
AND 供應(yīng)商號 IN(SELECT 供應(yīng)商號 FROM gys WHERE 地址="北京");
ORDER BY 總金額 DESC;
INTO TABLE order
SET SAFETY ON
SET TALK ON
**************************************
、 在“退出”菜單項的“命令”文本框中編寫程序代碼:SET SYSMENU TO DEFAULT。
、 選擇菜單命令“菜單”→“生成”,生成一個菜單文件cx3.mpr。
⑦ 關(guān)閉設(shè)計窗口,在“命令”窗口輸入命令:DO cx3.mpr。
、 可以看到Visual FoxPro的菜單欄被新建的菜單所代替,單擊“退出”菜單命令將恢復(fù)系統(tǒng)菜單。
⑨ 執(zhí)行“查詢”命令后,系統(tǒng)自動生成新數(shù)據(jù)表文件order.dbf,用來保存查詢結(jié)果。
【試題解析】
本試題考查的主要是利用SQL的嵌套查詢來完成多個數(shù)據(jù)表之間的記錄查找,此處應(yīng)注意運(yùn)算符IN以及排序短語ORDER BY的使用;在菜單的設(shè)計過程中主要是注意兩個菜單命令在“結(jié)果”下拉列表框中應(yīng)選擇的類型。
相關(guān)推薦:2010年9月計算機(jī)等級考試精華備考資料匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |