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