42在考生文件夾下完成如下簡單應用:
(1)打開“課程管理”數(shù)據(jù)庫,使用SQL語句建立一個視圖salary,該視圖包括系號和平均工資兩個字段,
并且按平均工資降序排列。將該SQL語句存儲在four.prg文件中。
(2)打開考生文件夾下的表單six,如下圖所示,“登錄”命令按鈕的功能是:當用戶輸入用戶名和口令以后,單擊“登錄’’按鈕時,程序在自由表“用戶表”中進行查找,若找不到相應的用戶名,則提示“用戶名錯誤”,若用戶名輸入正確,而口令輸入錯誤,則提示“口令錯誤”。修改“登錄”命令按鈕Click事件中標有錯誤的語句,使其能夠正確運行。注意:不得做其他修改。
參考解析:
(1)[操作步驟]
步驟l:單擊工具欄中的“打開”按鈕,打開考生文件夾下的數(shù)據(jù)庫文件“課程管理”。
步驟2:單擊工具欄中的“新建”按鈕,新建-個程序,輸入如下代碼。
CREATE sql VIEW salary AS SELECT教師表.系號,AV
(教師表.工資)As平均工資FROM教師表;
GROUP BY教師表.系號0RDER BY 2 DESC
步驟3:保存程序為four.prg,并運行該程序。
(2)[操作步驟]
步驟l:單擊工具欄中的“打開”按鈕,打開考生文件夾下的表單six.SCX,“登錄”按鈕中的代碼如下。
**********“登錄”按鈕的Click事件代碼**********
USE用戶表
GO
flag=0
&&下面語句有錯誤
WHILE.NOT.EOF()
IF Alhrim(用戶名)==Alltrim(Thisform.Tma1.Value)
IF Alltrim(口令)==Alhrim(Thisfonn.Texl2.Value)
WAIT”歡迎使用”WINDOW TIMEOUT 2
ELSE
WAIT”口令錯誤”WINDOW TIMEOUT 2
ENDIF
nag=1
EXIT
ENDIF
&&下面語句有錯誤
NEXT
ENDDO
&&下面語句有錯誤
CASE FLAG=0
WAIT”用戶名錯誤”WINDOW TIMEOUT 2
ENDIF
********************************
步驟2:修改程序中的錯誤如下。
錯誤1:將“WHILE”改為“DO WHIIE”。
錯誤2:將“NEXT”改為“SKIP”。
錯誤3:將“CASE”改為“IF”。
步驟3:保存并運行表單。
四、綜合應用題
43利用菜單設計器建立一個菜單TJ_MENU3,要求如下:
(1)主菜單(條形菜單)的菜單項中有“統(tǒng)計”和“退出”兩項。
(2)“統(tǒng)計”菜單下只有一個“平均”菜單項,該菜單項用來統(tǒng)計各門課程的平均成績,統(tǒng)計結果包含“課程名,,和“平均成績”兩個字段,并將統(tǒng)計結果按課程名升序保存在表NEW TABLE32中。
(3)“退出”菜單項的功能是返回Visual FoxPro系統(tǒng)菜單(只能在命令框中填寫相應命令)。菜單建立后。運行該菜單中的各個菜單項。
參考解析:
[操作步驟]
步驟1:通過菜單設計器新建-個菜單,輸入菜單項“統(tǒng)計”和“退出”。
步驟2:為“統(tǒng)計”菜單項建立子菜單,并輸入菜單項“平均”。
步驟3:在“平均”菜單的“結果”中選擇“過程”,單擊“編輯”按鈕,在彈出的程序編輯窗口中輸入下列代碼。
******“平均”菜單項中的過程代碼******
SETTALKOFF
OPEN DATABASE SCORE_MANAGER
SELECT Course.課程名,AVG(Seorel.成績)∞平均
成績;
FROM cour8e,score1;
WHERE Course.課程號=Scowl.課程號;
GROUP BY Course.課程名;
ORDER BY Course.課程名;
INTO TABLE NEW_KBLE32
CLOSE ALL
SETTALKON
**************************
步驟4:在“退出”菜單的結果中選擇。命令”,輸入語句:
SET SYSMENU TO DEFAULT。
步驟5:保存菜單為TJ_MENU3,生成萊單的可執(zhí)行程序。
步驟6:運行菜單并執(zhí)行菜單中的各菜單項。