2015年計算機二級VFP考試練習及答案解析(4)
一、基本操作題(共四小題,第1和2題是7分、第3和4是8分)
在考生文件夾下已有customers(客戶)、orders(訂單)、orderitems(訂單項)和goods(商品)四個表。
在考生文件夾下完成如下操作:
1.創建一個名為"訂單管理"的數據庫,并將已有的customers表添加到該數據庫中。
2.利用表設計器為customers表建立一個普通索引,索引名為bd,索引表達式為"出生日期"。
3.在表設計器中為customers表的"性別"字段設置有效性規則,規則表達式為:性別$"男女",出錯提示信息是:"性別必須是男或女"。
4.利用INDEX命令為customers表建立一個普通索引,索引名為khh,索引表達式為"客戶號",索引存放在customers.cdx中。然后將該INDEX命令存入命令文件pone.prg中。
本題主要考核點:將一個自由表添加到數據庫中、設置有效性規則、用INDEX命令和表設計器建立表索引。
解題思路:
3、建立有效性規則在表設計器中的字段選項卡中設置。在"規則"欄中輸入:性別$"男女","提示信息"欄輸入:"性別必須是男或女"。
4、建立普通索引的命令為:INDEX ON 客戶號 TAG khh of customers.cdx,然后將此命令保存在pone.prg文件中。
二、簡單應用(2小題,每題20分,計40分)
1.在考生文件夾下創建表單文件formone.scx,如下圖所示,其中包含一個標簽Label1、一個文本框Text1和一個命令按鈕Command1。然后按相關要求完成相應操作。
(1)如圖所示設置表單、標簽和命令按鈕的Caption屬性。
(2)設置文本框的Value屬性值為表達式Date()。
(3)設置"查詢"按鈕的Click事件代碼,使得表單運行時單擊該按鈕能夠完成如下查詢功能:從customers表中查詢指定日期以后出生的客戶,查詢結果依次包含姓名、性別、出生日期三項內容,各記錄按出生日期降序排序,查詢去向為表tableone。
最后運行該表單,查詢1980年1月1日以后出生的客戶。
2.向名為"訂單管理"的數據庫(在基本操作題中建立)添加orderitems表。然后在數據庫中創建視圖viewone:利用該視圖可以從orderitems表查詢統計各商品的訂購總量,查詢結果依次包含商品號和訂購總量(即所有訂單對該商品的訂購數量之和)兩項內容,各記錄按商品號升序排序。最后利用該視圖查詢視圖中的全部信息,并將查詢結果存放在表tabletwo中。
本題主要考核點:表單文件的創建、控件的屬性的修改、SQL語句運用、表單的退出。
解題思路:
第1題:
①在命令窗口輸入命令:CREATE FORM formone,打開表單設計器窗口。
②在表單上添加標簽、文本框和命令按鈕,并進行適當的布置和大小調整。
③設置標簽、"查詢"命令按鈕、表單的Caption屬性值。
④將文本框的Value屬性值設置為"=date()"。
⑤設置"查詢"按鈕的Click事件代碼:
SELECT 姓名,性別,出生日期 FROM customers;
WHERE 出生日期>=ctod(thisform.Text1.Text);
ORDER BY 出生日期 DESC;
INTO TABLE tableone.dbf
⑥保存表單并運行,在文本框中輸入01/01/1980,并單擊"查詢"命令按鈕。
第2題:打開"訂單管理"數據庫,單擊"數據庫"菜單中的"添加表",將orderitems表添加到數據庫中,新建"本地視圖",添加"orderitems"表到視圖中,先選擇"商品號"字段,再在"函數與表達式"中輸入"SUM(Orderitems.數量) AS 訂購總量",單擊"添加"按鈕,在"排序依據"中選擇按"商品號"升序,"分組依據"中選擇"商品號",以文件名viewone保存該視圖。利用剛創建的視圖viewone查詢視圖中的全部信息,在"添加表或視圖"對話框中選擇viewone視圖,在字段中選擇所有字段,設置查詢去向為表tabletwo。
三、綜合應用(1小題,計30分)
在考生文件夾下創建一個頂層表單myform.scx(表單的標題為"考試"),然后創建并在表單中添加菜單(菜單的名稱為mymenu.mnx,菜單程序的名稱為mymenu.mpr)。效果如下圖所示。
1)菜單命令"計算"和"退出"的功能都通過執行過程完成。
2)菜單命令"計算"的功能是根據orderitems表和goods表中的相關數據計算各訂單的總金額(一個訂單的總金額等于它所包含的各商品的金額之和,每種商品的金額等于數量乘以單價),并將計算的結果填入orders表的相應字段中。
3)菜單命令"退出"的功能是釋放并關閉表單。
最后,請運行表單并依次執行其中的"計算"和"退出"菜單命令。
解題思路:
1、建立表單:可通過"文件"菜單下的"新建"命令或用命令CREATE FORM打開表單設計器。
2、修改表單各屬性值,CAPTION="考試"。將表單以myform.scx為文件名保存在考生文件夾下。
3、建立菜單:可通過"文件"菜單下的"新建"命令或用命令CREATE MEMU打開菜單設計器。點擊"顯示"菜單下的"常規選項"命令打開"常規選項"對話框,選中"頂層表單"復選框。在菜單設計器中建立各菜單項,菜單名稱分別為:計算和退出。在"計算"菜單的結果列中選擇"過程",并通過單擊"創建"按鈕打開一個窗口來添加"計算"菜單項要執行的命令:
CLOSE DATA
USE Orders
GO TOP
DO WHILE NOT EOF()
dingdanhao=訂單號
SELECT sum(Orderitems.數量* Goods.單價) FROM orderitems,goods;
WHERE Orderitems.商品號=Goods.商品號 AND orderitems.訂單號=dingdanhao;
GROUP BY Orderitems.訂單號 INTO ARRAY A
REPLACE 總金額 WITH A[1]
SKIP
ENDDO
在"退出"菜單的結果列中選擇"過程",并通過單擊"創建"按鈕打開一個窗口來添加菜單項要執行的命令:myform.release,用來關閉表單并返回到系統菜單。
最后點擊"菜單"下的"生成"命令,生成mymenu.mpr程序。
4、將表單myform.scx中的ShowWindow屬性設置為"2-作為頂層表單",并在表單的LOAD事件中輸入:do mymenu.mpr with this,'mymenu',執行菜單程序。
5、保存并運行表單,依次執行其中的"計算"和"退出"菜單命令。