一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
在考生目錄下完成如下操作:
1. 打開"訂貨管理"數(shù)據(jù)庫,并將表order_detail添加到該數(shù)據(jù)庫中。
2. 為表order_detail的"單價"字段定義默認(rèn)值為NULL。
3. 為表order_detail的"單價"字段定義約束規(guī)則:單價 > 0 ,違背規(guī)則時的提示信息是:"單價必須大于零"。
4. 關(guān)閉"訂貨管理"數(shù)據(jù)庫,然后建立自由表customer,表結(jié)構(gòu)如下:
客戶號 字符型(6)
客戶名 字符型(16)
地址 字符型(20)
電話 字符型(14)
解答:
1.使用菜單方法,也可以直接使用命令:
open database 訂貨管理
add table order_detail
2.order_detail表的單價設(shè)置空值:首先打開表設(shè)計器,選擇“單價”字段,在NULL列選中(出現(xiàn)√),在默認(rèn)值框中輸入.null.(如下圖)。
3.設(shè)置有效性規(guī)則:打開表設(shè)計器,選擇需設(shè)置的字段,在“字段有效性”組框中設(shè)置(如上圖),在“規(guī)則”框中輸入約束條件,在“信息”框中輸入提示信息(注意提示信息必須用定界符括起來)。
4.新建自由表時,可先使用命令CLOSE ALL DATABASE關(guān)閉數(shù)據(jù)庫,再用菜單或命令的方法建立,可參考前幾套試題,此處略。 二、簡單應(yīng)用(2小題,每題20分,計40分)
在考生目錄下完成如下簡單應(yīng)用:
1. 列出總金額大于所有訂購單總金額平均值的訂購單(order_list)清單按客戶號升序排列),并將結(jié)果存儲到results表中(表結(jié)構(gòu)與order_list表結(jié)構(gòu)相同)。
解答:
本題用查詢設(shè)計器不太有效(借助多次查詢也是也可以),比較有效的辦法是使用SQL語句,命令如下:
SELECT * FROM order_list WHERE 總金額>(SELECT AVG(總金額) FROM order_list ) ORDER BY Order_list.客戶號 INTO TABLE results.dbf
也可以使用一般的命令:
USE order_list
AVERAGE 總金額 TO ABC
Sort on 客戶號 to results FOR總金額 > ABC
2. 利用Visual Foxpro的"快速報表"功能建立一個滿足如下要求的簡單報表:
(1) 報表的內(nèi)容是order_detail表的記錄(全部記錄,橫向);
(2) 增加"標(biāo)題帶區(qū)",然后在該帶區(qū)中放置一個標(biāo)簽控件,該標(biāo)簽控件顯示報表的標(biāo)題"器件清單";
(3) 將頁注腳區(qū)默認(rèn)顯示的當(dāng)前日期改為顯示當(dāng)前的時間;
(4) 最后將建立的報表保存為report1.frx。
解答:
方法1:利用快速報表建立報表:單擊“文件”菜單下“新建”命令,在打開的“新建”對話框中選定“報表”,單擊“新建文件”按鈕,輸入報表文件名,進(jìn)入到“報表設(shè)計器”,再從“報表”菜單中單擊“快速報表”命令,選擇表“order_detail”,進(jìn)入快速報表對話框(如上圖),按要求選擇字段、標(biāo)題、橫向等,最后在頁注腳帶區(qū)添加一個域控件,顯示系統(tǒng)時間(使用time()函數(shù))。
方法2:用向?qū)У姆绞叫陆。新建好后,改?biāo)題名為“器件清單”,將頁標(biāo)題中當(dāng)前系統(tǒng)日期移到頁注腳,并雙擊該控件,將顯示內(nèi)容改為系統(tǒng)時間time()。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |