【試題解析】
本試題(1)小題考查的是多表查詢文件的建立以及查詢去向,在設置查詢去向的時候,應該注意表的選擇;(2)小題主要考查的是利用表單向導建立一個表單,注意每個向導界面,完成相應的設置即可。
3.綜合應用題
首先為order_detail表增加一個新字段:新單價(類型與原來的單價字段相同),然后編寫滿足如下要求的程序:根據(jù)order_list表中“訂購日期”字段的值確定order_detail表“新單價”字段的值,原則是:訂購日期為2001年的,“新單價”字段的值為原單價的90%,訂購日期為2002年的,“新單價”字段的值為原單價的110%(注意:在修改操作過程中不要改變order_detail表記錄的順序),將order_detail表中的記錄存儲到od_new表中(表結構與order_detail表完全相同)。最后將程序保存為progl.prg,并執(zhí)行該程序。
接著再利用Visual FoxPro的“快速報表”功能建立一個簡單報表,該報表內容按順序含有order_detail表的訂單號、器件號、器件名、新單價和數(shù)量字段的值,將報表文件保存為reportl。
【參考答案】
(1)具體步驟如下:
、 在“命令”窗口輸入命令:
USE order_detail &&打開數(shù)據(jù)表
MODIFY STRUCTURE &&打開表設計器
、 打開表設計器后,在“字段”選項卡的“數(shù)量”字段后增加一個新的字段,根據(jù)題意輸入字段名:新單價,字段寬度和類型與“單價”字段一樣。
、 在“命令”窗口輸入命令:MODIFY COMMAND prog1,在程序編輯窗口中輸入如下程序段:
*********prog1.prg文件中程序段*********
SET TALK OFF
&&將訂購日期是2001年的所有訂單號放入臨時表curtable中
SELECT訂單號FROM order_list WHERE YEAR(訂購日期)=2001;
INTO CURSOR curtable
&&對所有訂購日期是2001年的計算新單價
DO WHILE NOT EOF()
UPDATE order_detail SET新單價=單價*0.9;
WHERE訂單號=curtable.訂單號
SKIP
ENDDO
&&將訂購日期是2002年的所有訂單號放入臨時表CurTable中
SELECT訂單號FROM order_list WHERE YEAR(訂購日期)=2002;
INTO CURSOR curtable
&&對所有訂購日期是2002年的計算新單價
DO WHILE NOT EOF()
UPDATE order_detail SET新單價=單價*1.1;
WHERE訂單號=CurTable.訂單號
SKIP
ENDDO
CLOSE ALL
USE order_detail
COPY TO od_new
SET TALK ON
******************************************
、 保存設計結果,在“命令”窗口輸入命令:DO prog1,執(zhí)行程序文件。
(2)具體步驟如下:
、 在“命令”窗口輸入命令:CREATE REPORT report1,打開報表設計器。
、 選擇菜單命令“報表”→“快速報表”,系統(tǒng)首先要求選擇報表數(shù)據(jù)源。根據(jù)題意,選擇考生文件夾下的order_detail表作為報表數(shù)據(jù)源。
、 系統(tǒng)彈出“快速報表”對話框,單擊對話框中的“字段”命令按鈕,在彈出的“字段選擇器”對話框中,依次將訂單號、器件號、器件名、新單價和數(shù)量5個字段添加到“選定字段”列表框中,單擊“確定”按鈕,返回報表設計器。
、 保存報表設計。
、 單擊工具欄中的預覽圖標按鈕,可查看設計效果。
【試題解析】
本試題考查的主要是SQL語句的應用,包括數(shù)據(jù)定義、數(shù)據(jù)修改和數(shù)據(jù)查詢功能,設計過程中可利用臨時表來存放查詢結果,再利用DO循環(huán)語句對表中的記錄逐條更新。
相關推薦:2010年9月計算機等級考試沖刺備考指導專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |