計算機等級考試二級VFP機試試題25

字號:

第二十五套
    一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
     在考生文件夾下的"商品銷售"數(shù)據(jù)庫中完成如下操作:
     1. 將"銷售表"中的日期在2000年12月31日前(含2000年12月31日)的記錄復(fù)
     制到一個新表"2001.dbf"中。
     2.將"銷售表"中的日期(日期型字段)在2000年12月31日前(含2000年12月
     31日)的記錄物理刪除。
     3.打開"商品表",使用BROWSE命令瀏覽時,使用"文件"菜單中的選項將"商
     品表"中的記錄生成文件名為"商品表.htm"的HTML格式文件。
     4.為"商品表"創(chuàng)建一個主索引,索引名和索引表達(dá)式均是"商品號";為"銷
    售表"創(chuàng)建一個普通索引(升序),索引名和索引表達(dá)式均是"商品號"。
    本題主要考核點:
    SQL查詢語句的使用、SQL語言中刪除語句的使用、如何將一個表存為一個HTML文件、表的索引的建立方法等知識點。
    解題思路:
    第一步:打開考生文件夾下的"商品銷售"數(shù)據(jù)庫
    第二步:在命令窗口中輸入以下語句:
    SELECT * FROM 銷售表 WHERE 日期<={^2000-12-31} INTO TABLE 2001.DBF
    并執(zhí)行該語句。根據(jù)要求要得到2001年12月31日以前的銷售表的記錄,將條件:日期<={^2000-12-31}放在WHERE子句的后面,結(jié)果集存放入一個永久表2001.dbf中要用到INTO TABLE子句
    第三步:在物理刪除記錄,我們要先將其邏輯刪除,然后使用PACK命令將加上邏輯刪除的記錄物理刪除。所以在命令窗口依次執(zhí)行以下兩條命令即可:
    DELETE FROM 銷售表 WHERE 日期<={^2000-12-31}
    PACK
    第四步:在命令窗口依次執(zhí)行:USE 商品表和Brow兩條命令,在商品表處于瀏覽狀態(tài)時,選擇"文件"菜單的"另存為HTML(H)",彈出"另存為HTML"對話框,選擇"保存文件以便以后使用"選項,并點擊文件位置按鈕,彈出"另存為"對話框,選擇考生文件夾,并在"保存"文件框中輸入"商品表.html",點擊"確定"按鈕,返回"另存為HTML"對話框,點擊"確定"即可。
    第五步:在數(shù)據(jù)庫設(shè)計器中選擇"商品表",點擊主菜單"數(shù)據(jù)庫"下的"修改",彈出表設(shè)計器,在表設(shè)計器中,選擇"索引 "標(biāo)簽,在索引名和表達(dá)式列中分別輸入"商品號",在類型列中選擇"主索引",點擊"確定",保存對"商品表"結(jié)構(gòu)的修改。用同樣的方法可以對"銷售表" 的索引進(jìn)行修改。二、簡單應(yīng)用(2小題,每題20分,計40分)
     在考生文件夾下完成如下簡單應(yīng)用:
     1. 在"商品銷售"數(shù)據(jù)庫中,根據(jù)"銷售表"和"商品表"查詢每種商品的商品號、
     商品名、單價、銷售數(shù)量和銷售金額(商品號、商品名取自商品表,單價
     和銷售數(shù)量取自銷售表,銷售金額=單價*銷售數(shù)量),結(jié)果按銷售金額降
     序排序,并將查詢結(jié)果存儲到see_a表中。
     2. 在考生文件夾下有一個名稱為form1 的表單文件,該表單中的三個命令按
     鈕的 click事件下的語句有錯誤。請按如下要求進(jìn)行修改,修改完成后保
     存所做的修改:
     (1) 單擊"刷新標(biāo)題"命令按鈕時,將表單的標(biāo)題改為"商品銷售數(shù)據(jù)輸入";
     (2) 單擊"商品銷售輸入"命令按鈕時,調(diào)用當(dāng)前文件夾下的名稱為 sellcomm
     的表單文件打開數(shù)據(jù)輸入表單;
     (3) 單擊"輸出銷售報表"命令按鈕時,調(diào)用當(dāng)前文件夾下的名稱為 print1的
     報表文件對報表進(jìn)行預(yù)覽。
     注意:每處錯誤只能在原語句上進(jìn)行修改,不可以增加語句行。
    本題主要考核點:
     SQL查詢語句中的聯(lián)接查詢、表單的建立方法、表單中事件代碼、通過命令來執(zhí)行表單和報表的方法等知識點。
    解題思路:
     第一小題:本題主要考查詢語句中的聯(lián)接查詢。如果要得到的結(jié)果集來自兩個不同的表,要用到聯(lián)接查詢,聯(lián)接查詢的兩個表放在FROM子句的后面,在本題中是:商品表和銷售表,它們之間用逗號隔開;聯(lián)接查詢來指明兩個表聯(lián)接的條件放在WHERE子句的后面,并且如果一個字段在另一個表中也有同名的字段需要指明字段所在的表,聯(lián)接的條件是:商品表.商品號=銷售表.商品號;結(jié)果集的排序依據(jù)要放在ORDER BY子句的后面,這里是以銷售金額的降序進(jìn)行排序,所以排序是:ORDER BY 銷售金額 DESC;結(jié)果集要保存在一個永久表中要用到INTO TABLE子句。完整的查詢語句如下:
    SELECT 商品表.商品號,商品名,銷售表.單價,;
    銷售數(shù)量,銷售表.單價*銷售數(shù)量 AS 銷售金額;
    FROM 商品表,銷售表;
    WHERE 商品表.商品號=銷售表.商品號;
    ORDER BY 銷售金額 DESC;
    INTO TABLE SEE_A
    第二小題:首先打開考生文件夾下的form1.scx表單文件,對"刷新標(biāo)題"按鈕的Click事件代碼,要改變表單的標(biāo)題,需要對表單的Caption屬性進(jìn)行修改,所以此處應(yīng)改為:thisform.caption="商品銷售數(shù)據(jù)輸入";對"商品銷售輸入"按鈕的 Click的事件代碼,是要調(diào)用sellcomm表單,而要執(zhí)行一個表單,需要用DO FORM命令,所以此處應(yīng)改為:DO FORM SELLCOMM;對"輸入銷售報表"按鈕的Click事件代碼,要調(diào)用print1報表文件,需要用REPORT FORM命令,所以此處應(yīng)改為:REPORT FORM PRINT1 preview。最后保存修改后的表單。 三、綜合應(yīng)用(1小題,計30分)
     在考生文件夾下,對"商品銷售"數(shù)據(jù)庫完成如下綜合應(yīng)用:
     1.請編寫名稱為change_c 的命令程序并執(zhí)行,該程序?qū)崿F(xiàn)下面的功能:將"
     商品表"進(jìn)行備份,備份文件名為"SPBAK.dbf";
     將"商品表"中"商品號"前兩位編號為"10"的商品的"單價"修改為出廠單價
     提高10%;
     使用"單價調(diào)整表"對商品表的部分商品出廠單價進(jìn)行修改(按"商品號"
     相同)。
     2.設(shè)計一個名稱為form2的表單,上面有"調(diào)整"(名稱Command1)和"退出"(名
     稱Command2)兩個命令按鈕。
     單擊"調(diào)整"命令按鈕時,調(diào)用change_c命令程序?qū)崿F(xiàn)商品單價調(diào)整;
     單擊"退出"命令按鈕時,關(guān)閉表單。
     注意:以上兩個命令按鈕均只含一條語句,不可以有多余的語句。
     本題主要考核點:
     程序的建立方法、記錄的更新、循環(huán)結(jié)構(gòu)、表單的建立方法、控件的基本知識等知識點
    解題思路:
     第一步:在Visual ForxPro主窗口中按下組合鍵Ctrl+N,彈出"新建"對話框,在文件類型中選擇"程序",點擊"新建文件",彈出代碼編輯器窗口
     第二步:在代碼編輯器窗口,輸入以下代碼:
    SET TALK OFF
    SET SAFETY OFF
    &&備份商品表
    SELECT * FROM 商品表 INTO TABLE SPBAK.DBF
    &&修改商品的單價
    UPDATE 商品表 SET 單價=出廠單價*1.1 WHERE LEFT(商品號,2)="10"
    USE 單價調(diào)整表
    DO WHILE NOT EOF()
     UPDATE 商品表 SET 出廠單價=單價調(diào)整表.出廠單價;
     WHERE 商品號=單價調(diào)整表.商品號
    SKIP
    ENDDO
    CLOSE ALL
    SET TALK ON
    SET SAFETY ON
    第三步:以文件名change_c.prg保存程序文件在考生文件夾下。并執(zhí)行
    第四步:在Visual FoxPro的主窗口按下組合鍵Ctrl+N,彈出"新建"對話框,在文件類型中選擇"表單",點擊"新建文件"按鈕
    第五步:在打開的表單編輯器窗口中放上兩個標(biāo)題分別為"調(diào)整"和"退出"的命令按鈕,并為標(biāo)題為"調(diào)整"的命令按鈕添加如下Click的事件代碼:DO CHANGE_C.PRG;為標(biāo)題為"退出"的命令按鈕添加如下Click事件代碼:THISFORM.RELEASE.
    第六步:以文件名form2.scx保存表單,并保存在考生文件夾下。