國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷4(共27題)_第1頁(yè)
國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷4(共27題)_第2頁(yè)
國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷4(共27題)_第3頁(yè)
國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷4(共27題)_第4頁(yè)
國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷4(共27題)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷4(共9套)(共27題)國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第1套一、基本操作題(本題共1題,每題1.0分,共1分。)1、上文件夾下有一表單文件fomaone.scx,其中包含一個(gè)文本框和一個(gè)命令技鈕。打開(kāi)該表單文件,然后在表單設(shè)計(jì)器環(huán)境下完成如下操作:(1)將文本框和命令按鈕兩個(gè)控件設(shè)置為頂邊對(duì)齊。(2)將文本框的默認(rèn)值設(shè)置為0。(3)將表單的標(biāo)題設(shè)置“基本操作”,將命令按鈕的標(biāo)題設(shè)置為“確定”。(4)設(shè)置文本框的InteractiveChange事件代碼,使得當(dāng)文本框輸入負(fù)數(shù)時(shí),命令按鈕為無(wú)效,即不能響應(yīng)用戶(hù)的操作。標(biāo)準(zhǔn)答案:【操作步驟】(1)(1)在命令窗口執(zhí)行命令:MODIFYFORMformone,打開(kāi)表單設(shè)計(jì)器修改表單。②右擊工具欄的空白區(qū)域,選擇【布局】快捷菜單命令.打開(kāi)表單的“布局”工具欄,然后選中表單中的文本框和命令按鈕,再單擊“布局”工具欄中的“頂邊對(duì)齊”按鈕(第3個(gè)圖標(biāo)按鈕)。(2)選中文本框,然后在“屬性”面板中修改文本框的Value屬性值為:0。(3)①單擊表單空白處選中表單,然后在“屬性”面板中修改表單的Caption屬性值為:基本操作。②單擊命令按鈕,然后在“屬性”面板中修改表單的Caption屬性值為:確定。(4)雙擊文本框打開(kāi)事件編輯器,在“過(guò)程”下拉框中選擇InteractiveChange事件,輸入如下事件代碼:IFTHIS.VALUE<0THISFORM.COMMANDl.ENABLED=.F.ENDIF知識(shí)點(diǎn)解析:暫無(wú)解析二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、在考生文件夾下,打開(kāi)商品銷(xiāo)售數(shù)據(jù)庫(kù)cdb,完成如下簡(jiǎn)單應(yīng)用:(1)使用一對(duì)多報(bào)表向?qū)Ы⒚Q(chēng)為porder的報(bào)表。要求從父表顧客表cust中選擇所有字段,從子表訂單表order中選擇所有字段;兩表之間采用“順客號(hào)”字段連接:按“顧客號(hào)”字段升序排序:報(bào)表樣式為“經(jīng)營(yíng)式”,方向?yàn)椤翱v向“;報(bào)表標(biāo)題為“顧客訂單表”。然后修改該報(bào)表,在頁(yè)注腳中增加一個(gè)標(biāo)簽“制表人:新思路”:該標(biāo)簽水平居中,標(biāo)簽中的“:”為中文的冒號(hào)。(2)修改一個(gè)名稱(chēng)為T(mén)WO.PRG的命令文件。該命令文件統(tǒng)計(jì)每個(gè)顧客購(gòu)買(mǎi)商品的金額合計(jì)(應(yīng)付款),結(jié)果存儲(chǔ)在臨時(shí)表Is中。然后用Is中的每個(gè)顧客的數(shù)據(jù)去修改表scust對(duì)應(yīng)的記錄。該命令文件有3行語(yǔ)句有錯(cuò)誤,打開(kāi)該命令文件進(jìn)行修改。注意:直接在錯(cuò)誤處修改,不可改變SQL語(yǔ)句的結(jié)構(gòu)和短語(yǔ)的順序,不允許增加、刪除或合并行。修改完成后,運(yùn)行該命令文件。標(biāo)準(zhǔn)答案:(1)在報(bào)表設(shè)計(jì)器中添加文字,可以通過(guò)“報(bào)表控件”工具欄中的“標(biāo)簽”控件進(jìn)行添加。【操作步驟】步驟1:在命令窗口執(zhí)行命令:OPEN13ATABASEcdb,扣開(kāi)edb數(shù)據(jù)庫(kù)。步驟2:執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在彈出的“新建”對(duì)話(huà)框中選中“報(bào)表”選項(xiàng),然后單擊“向?qū)А眻D標(biāo)按鈕.系統(tǒng)彈出“向?qū)нx取”對(duì)話(huà)框,選中“一對(duì)多報(bào)表向?qū)А表?xiàng),單擊“確定”按鈕,啟動(dòng)報(bào)表向?qū)?。步驟3:存報(bào)表向?qū)У摹安襟E1-從父表選擇字段”界面的“數(shù)據(jù)庫(kù)和表”下選中cust表,將“可用字段”中的字段令部添加到“選定字段”中,單擊“下一步”按鈕。步驟4:在報(bào)表向?qū)У摹安襟E2.從子表選撣字段”界面的“數(shù)據(jù)庫(kù)和表”下選中order表,將“可用字段”中的字段全部添加到“選定字段”中,單擊“下一步”按鈕。步驟5:存報(bào)表向?qū)У摹安襟E3-為表建贏關(guān)系”界面中系統(tǒng)自動(dòng)建市兩個(gè)表的聯(lián)系,單擊“下一步”按鈕。步驟6:在報(bào)表向?qū)У摹安襟E4.排序記錄”界面中雙擊“可用的字段或索一1標(biāo)識(shí)”中的“顧客號(hào)”字段到“選定字段”列表中,再選擇“升序”,單擊“下一步”按鈕。步驟7:在報(bào)表向?qū)У摹安襟E5-選擇報(bào)表樣式”界面的“樣式”下選中“經(jīng)營(yíng)式”,方向?yàn)椤翱v向”,單擊“下一步”按鈕。步驟8:在報(bào)表向?qū)У摹安襟E6.完成”界面中的“報(bào)表標(biāo)題”下方文本框中輸入“顧客訂單表”,單擊“完成”按鈕。步驟9:在“另存為”對(duì)話(huà)框的“保存報(bào)表為:”框中輸入表單文件名porder,單擊“保存”按鈕。步驟10:在命令窗口輸入命令:MODIFYKEPORTporder,打開(kāi)報(bào)表設(shè)計(jì)器修改報(bào)表。向報(bào)表設(shè)計(jì)器最底端的“頁(yè)注腳”帶區(qū)添加一個(gè)標(biāo)簽控件,并輸入“制表人:新思路”,然后選中標(biāo)簽,在“布局”工具欄中單擊“水平居中”命令按鈕(工具欄中的倒數(shù)第4個(gè)按鈕),設(shè)置標(biāo)簽為水平居中?!静僮鞑襟E】步驟1:在命令窗口執(zhí)行命令:MODIFYCOMMANDtwo,打開(kāi)程序文件,文件中的命令代碼如下:CLUSEDBFPRIVATEno,moneyUSEscust*下面的一行語(yǔ)句有錯(cuò)誤SELECT顧客號(hào),數(shù)量+單價(jià)應(yīng)付款;FROMorderJoINcommONorder.商品號(hào)=comm.商品號(hào);GROUFBY顧客號(hào);INTOCURSORlsSELECTsellst*下面的一行語(yǔ)句有錯(cuò)誤DOWHILEEOFOno=顧客號(hào)SELECT1sLOCATFOR顧客號(hào)=nomoney=應(yīng)付款SELECTscust*下面的一行語(yǔ)句有錯(cuò)誤REPLACEALL應(yīng)付款=moneySKIP+1ENDDOCLOSETABLERETURN修改程序中的錯(cuò)誤行,修改后的程序如下:CLOSEDBFPRIVATEno,moneyUSEscust*下面的一行語(yǔ)句有錯(cuò)誤SELECT顧客號(hào),sum(數(shù)量+單價(jià))應(yīng)付款;FROMorderJOINcomrnONorder.商品號(hào)=comm.商品號(hào);GROUPBY顧客號(hào);INTOCURSORisSELECTscuStt下面的一行語(yǔ)句有錯(cuò)誤DOWHILE!EOF()DO=顧客號(hào)SELECTlsLOCATFOR顧客號(hào)=nomoney=應(yīng)付款SELECTscust*下面的一行語(yǔ)句有錯(cuò)誤REPLACE應(yīng)付款withmoneySKIP+1ENDDOCLOSETABLERETURN步驟2:保存文件修改.在命令窗口執(zhí)行命令:DOtwo,執(zhí)行程序文件。知識(shí)點(diǎn)解析:暫無(wú)解析三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、考生文件夾下存在數(shù)據(jù)庫(kù)“學(xué)籍”,其中包含course和score表,這兩個(gè)表存在一對(duì)多的聯(lián)系。對(duì)“學(xué)籍”數(shù)據(jù)庫(kù)建立文件名為form2的表單,表單標(biāo)題為“課程成績(jī)查看”,其中包含兩個(gè)表格控件。第一個(gè)表格控件用于顯示“課程”表的記錄,第二個(gè)表格控件用于顯示與“課程”表當(dāng)前記錄對(duì)應(yīng)的“成績(jī)”表中的記錄。表單中還包含一個(gè)標(biāo)題為“退出”的命令按鈕,要求單擊此按鈕退出表單,如圖3.1所示。標(biāo)準(zhǔn)答案:表單及控件基本屬性的設(shè)計(jì),如果要將表格控件與數(shù)據(jù)表內(nèi)容結(jié)合,首先要將數(shù)據(jù)表添加到表單的數(shù)據(jù)環(huán)境中,然后利用表格生成器建立表格與數(shù)據(jù)表的聯(lián)系,如果在數(shù)據(jù)庫(kù)中的兩個(gè)表已存在永久性聯(lián)接,那么被添加到表單數(shù)據(jù)環(huán)境中的表也會(huì)存在這種聯(lián)系。【操作步驟】步驟l:在命令窗口執(zhí)行命令:cREATEFORMform2,打開(kāi)表單設(shè)計(jì)器新建表單。從“表單控件”工具欄中依次向表單添加兩個(gè)表格控件和一個(gè)命令按鈕控件。步驟2:在“屬性”面板的下拉框中選擇表單對(duì)象,在“全部”選項(xiàng)卡中修改對(duì)象屬性值,如圖4.6所示;表單及控什屬性設(shè)置,見(jiàn)表4.4。步驟3:右擊表單選擇【數(shù)據(jù)環(huán)境】快捷菜單命令,繼續(xù)在表單數(shù)據(jù)環(huán)境中單擊右鍵選擇【添加】快捷菜單命令,在“添加表或視圖”對(duì)話(huà)框中雙擊course和score表,將表添加到表單的數(shù)據(jù)環(huán)境中。步驟4:右擊第一個(gè)表格(Gridl)選擇【生成器】快捷菜單命令,在“表格項(xiàng)”選項(xiàng)卡中,單擊“數(shù)據(jù)庫(kù)和表”F方的按鈕打開(kāi),在彈出的“打開(kāi)”對(duì)話(huà)框中選擇course表,將“可用字段”中的字段全部添加到“選定字段”中,單擊“確定”按鈕;以同樣的方法為第一個(gè)表格(Grid2)設(shè)置score表中的字段。如圖4.7所示。步驟5:雙擊“退出”命令按鈕(cornmand1),存click事件中編寫(xiě)程序代碼:THISFORM.RELEASE。步驟6:甲擊“常用”工具欄中的“運(yùn)行”按鈕查看結(jié)果,將表單文件保存到考生文件夾下。知識(shí)點(diǎn)解析:暫無(wú)解析國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第2套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)建立數(shù)據(jù)庫(kù)bookauth.dbc,把表books.dbf和authors.dbf添加到該數(shù)據(jù)庫(kù)。(2)為authors表建立主索引,索引名“pk”,索引表達(dá)式“作者編號(hào)”。(3)為books表分別建立兩個(gè)普通索引,一個(gè)索引名為“rk”,索引表達(dá)式為“圖書(shū)編號(hào)”;另一個(gè)索引名和索引表達(dá)式均為“作者編號(hào)”。(4)建立authors表和books表之間的永久聯(lián)系。標(biāo)準(zhǔn)答案:【操作步驟】(1)①命令窩口執(zhí)行:MODIFYDATABASEBOOKAUTH,打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。②在數(shù)據(jù)庫(kù)設(shè)計(jì)器中右擊,選擇【添加表】,在“打開(kāi)”對(duì)話(huà)框中雙擊“BOOKS”表添加到數(shù)據(jù)庫(kù)中,同樣的方法將“AUTHORS”表添加到數(shù)據(jù)庫(kù)中。(2)右擊數(shù)據(jù)庫(kù)設(shè)計(jì)器中的“AUTHORS”表,選擇【修改】,打開(kāi)表設(shè)計(jì)器,“字段”選項(xiàng)}中選“作者編號(hào)”,“索引”列中選“升序”,索引選項(xiàng)卡中“索引名”設(shè)置為“PK”,“類(lèi)型”設(shè)置為“主索引”,單擊“確定”按鈕保存。(3)右擊數(shù)據(jù)庫(kù)設(shè)計(jì)器中的“BOOKS”表,選擇【修改】,打開(kāi)表設(shè)計(jì)器,“字段”選項(xiàng)卡中選“圖書(shū)編號(hào)”字段,“索引”下拉框選擇“升序”,“索引”選項(xiàng)卡中將“索引名”沒(méi)置為“RK”;同樣的方法為“作者編號(hào)”字段建索引,單擊“確定”按鈕保存表結(jié)構(gòu)修改。(4)拖動(dòng)“AUTHORS”表“索引”下方的主索引“PK”到“BOOKS”表中“索引”下方的普通索引“作者編號(hào)”上,為兩個(gè)表建立聯(lián)系。知識(shí)點(diǎn)解析:暫無(wú)解析二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、(1)在數(shù)據(jù)庫(kù)“住宿瀏覽”中使用一對(duì)多表單向?qū)梢粋€(gè)名為zsform的表單。要求從父表“宿舍”中選擇所有字段,從予表“學(xué)生”表中選擇所有字段,使用“宿舍號(hào)”字段建立兩個(gè)表之間的關(guān)系,樣式為“邊框式”:按鈕類(lèi)型為“圖片按鈕”;排序字段為“宿舍號(hào)”(升序);表單標(biāo)題為“住宿瀏覽”。(2)編寫(xiě)modiprog程序,要求實(shí)現(xiàn)用戶(hù)可任意輸入一個(gè)大于0的整數(shù),程序輸出該整數(shù)的階乘。如用戶(hù)輸入的是5,一則程序輸出為“5的階乘為:120”。標(biāo)準(zhǔn)答案:本題考查的是一對(duì)多表單向?qū)У氖褂?。在啟?dòng)向?qū)埃梢韵却蜷_(kāi)數(shù)據(jù)庫(kù)環(huán)境,這樣在啟動(dòng)向?qū)砑訑?shù)據(jù)表時(shí),可在向?qū)Ы缑嬷兄苯舆x中所需的數(shù)據(jù)表,本題是根據(jù)兩個(gè)表進(jìn)行操作的,在啟動(dòng)向?qū)r(shí)候注意選擇“一對(duì)多表單向?qū)А?,其他的操作只需根?jù)向?qū)崾驹诟鹘缑嬷型瓿杉纯??!静僮鞑襟E】步驟1:在命令窗口執(zhí)行命令:OIPENDATABASE住宿瀏覽,打開(kāi)數(shù)據(jù)庫(kù)環(huán)境。步驟2:執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在彈出的“新建”對(duì)話(huà)框中選中“表單”選項(xiàng),然后單擊“向?qū)А眻D標(biāo)按鈕,系統(tǒng)彈出“向?qū)нx取”對(duì)話(huà)框,選中“一對(duì)多表單向?qū)А表?xiàng),單擊“確定”按鈕,啟動(dòng)表單向?qū)А2襟E3:在表單向?qū)У摹安襟E1-從父表中選定字段”界面的“數(shù)據(jù)庫(kù)和表”下選中“宿舍”表,將“可用字段”中的所有字段添加到“選定字段”中,單擊“下‘步”按鈕。步驟4:在表單向?qū)У摹安襟E2一從了表中選定字段”界面的“數(shù)據(jù)庫(kù)和表”下選中“學(xué)生”表,將“可用字段”中的所有字段添加到“選定字段”中,單擊“下一步”按鈕。步驟5:在表單向?qū)У摹安襟E3-建立表之間的關(guān)系”界面系統(tǒng)自動(dòng)建立兩個(gè)表的聯(lián)系,單擊“下一步”按鈕。步驟6:在表單向?qū)У摹安襟E4-選擇表單樣式”界面中選中“樣式”列表中的“邊框式”,再在“按鈕類(lèi)型”選項(xiàng)中選中“圖片按鈕”,單擊“下一步”按鈕。步驟7:在表單向?qū)У摹安襟E5.排序次序”界面中雙擊“可用的字段或索引標(biāo)識(shí)”中的“宿舍號(hào)”字段到“選定字段”列表中,單擊“下步”按鈕。步驟8:在表單向?qū)У摹安襟E6-完成”界面中的“請(qǐng)鍵入表單標(biāo)題”下方文本框中輸入“住宿瀏覽”,單擊“完成”按鈕。步驟9:存“另存為”對(duì)話(huà)框的“保存表單為:”框中輸入表單文件名zsfonn,單擊“保存”按鈕。【考點(diǎn)鏈接】表單數(shù)據(jù)環(huán)境;創(chuàng)建和運(yùn)行表單。(2)【審題分析】本題重要考查的是FOR循環(huán)語(yǔ)句設(shè)計(jì)。根據(jù)題意,程序功能代碼設(shè)計(jì)大致如下:首先利用INPuT命令從鍵盤(pán)獲得一個(gè)整數(shù)并賦給變量I(該變量名可任意定義),然后定義個(gè)一個(gè)初始變量并賦值為1;接著,利用FOR循環(huán)語(yǔ)句開(kāi)始循環(huán)計(jì)算,該循環(huán)的起始值為1,結(jié)束值為從鍵盤(pán)輸入的整數(shù)值,步長(zhǎng)為1,循環(huán)體的功能是計(jì)算階乘的表達(dá)式:JC=JCc*1,其中,“Jc”為前面定義的初始變量,I為循環(huán)增量;循環(huán)結(jié)束后輸出變量N和JC的值。注意:FOR循環(huán)中,循環(huán)增量的值在每次循環(huán)結(jié)束后自動(dòng)加1,不需要通過(guò)表迭式指出?!静僮鞑襟E】步驟1:在命令窗口執(zhí)行命令:MODIFYCOMMANDMODIPROG,打開(kāi)程序文件編輯器。步驟2:在編輯器中輸入如下程序代碼:INPuT“請(qǐng)輸入一個(gè)整數(shù):”TONJC=1FORI=1TONJC=JC*IENDFOR?N??“的階乘為:”??JC步驟3:在命令窗口執(zhí)行命令:DOMODIPROG.PRG,執(zhí)行程序文件?!究键c(diǎn)鏈接】程序文件的建立與執(zhí)行;程序的基本結(jié)構(gòu)。知識(shí)點(diǎn)解析:暫無(wú)解析三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、建立“學(xué)生”數(shù)據(jù)庫(kù);把自由表student(學(xué)生)、course(課程)和score(選課成績(jī))添加到新建立的數(shù)據(jù)庫(kù):建立滿(mǎn)足如下要求的表單formlist(控件名和文件名)①添加一個(gè)表格控什Gridl.并按學(xué)號(hào)升序顯示學(xué)生選課及考試成績(jī)信息(包括字段學(xué)號(hào)、姓名、院系、課程名稱(chēng)和成績(jī))。②添加命令按鈕“保存”(Commandl)和“退出”(command2),單擊命令按鈕“保存”時(shí)將表格控件Gridl中所顯示的內(nèi)容保存到表results(方法不限),單擊命令按鈕“退出”時(shí)關(guān)閉并釋放表單。運(yùn)行農(nóng)單如圖3一10所示。注意:程序完成后必須運(yùn)行,并按要求保存表格控件GridI中所顯示的內(nèi)容到表results。標(biāo)準(zhǔn)答案:【操作步驟】步驟1:在命令窗口執(zhí)行命令:MODIFYDATABASE學(xué)生,創(chuàng)建數(shù)據(jù)庫(kù)并打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。步驟2:在新建的“學(xué)生”數(shù)據(jù)庫(kù)設(shè)計(jì)器中單擊有鍵,選擇【添加表】快捷菜單命令,在彈出的“打開(kāi)”對(duì)話(huà)框中雙擊自由表“student”,將表添加到數(shù)據(jù)庫(kù)中。以同樣的方法,將“score”和“course”表添加到數(shù)據(jù)庫(kù)中。步驟3:在命令窗口執(zhí)行命令:cREATEFORMFORMLIST,打開(kāi)表單設(shè)計(jì)器新建表單。從“農(nóng)單控件”工具欄中依次向表單添加一個(gè)表格和兩個(gè)命令按鈕控件。步驟4:在“屬性”面板的下拉框中選擇表單對(duì)象,在“全部”選項(xiàng)卡中修改對(duì)象屬性值,見(jiàn)表4-14。步驟5:雙擊表格(Gfidl)控件編寫(xiě)Init事件代碼。內(nèi)容如下:*****表格(Gnd1)的Inn事件代碼(以下SQL查詢(xún)語(yǔ)句是通過(guò)查詢(xún)?cè)O(shè)計(jì)器生成)*****THIS.RECORDSOURCE=”;SELECTstudent.學(xué)號(hào),student.姓名,student.院系,course.課程名稱(chēng),score.成績(jī);FROM學(xué)生!stuadentINNER.JOIN學(xué)生!scoze;INNERJOIN學(xué)生!course;ONscore.課程編號(hào)=course.課程編號(hào);ONstudent.學(xué)號(hào)=score.學(xué)號(hào);ORDERBY1;INTOCURSORCURSOR1”步驟6:雙擊命令按鈕,編寫(xiě)各個(gè)命令按鈕的Click事件代碼。各按鈕代碼如下:********“保存”按鈕的cnck事件代碼***********SELECT*FROMCURSOR1INTOTABLERESULTS****“退出”按鈕的click事件代碼****TEISFORM.RELEASE步驟7:?jiǎn)螕簟俺S谩惫ぞ邫谥械摹斑\(yùn)行”按鈕奄看結(jié)果并生成表史件,將表單文件保存到考生文件夾下。知識(shí)點(diǎn)解析:暫無(wú)解析國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第3套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)建立菜單querymenu。該菜單只有“查詢(xún)”和“退出”兩個(gè)主菜單項(xiàng)(條形菜單),其中單擊菜單項(xiàng)“退出”時(shí),返回到VFP系統(tǒng)菜單(相應(yīng)命令寫(xiě)在命令框中,不要寫(xiě)在過(guò)程中)。(2)將COURSE表的“開(kāi)課系部”字段名改為“開(kāi)課單位”,其余不變。(3)從數(shù)據(jù)庫(kù)score.manager中移去表temp2.dbf(不是刪除)。(4)將score1表中記錄按學(xué)號(hào)從低到高排序,在學(xué)號(hào)相同的情況下再按成績(jī)從高到低排序,排序結(jié)果存入表NEWORDER。標(biāo)準(zhǔn)答案:(1)①命令窗口執(zhí)行:CREATEMENUquery_menu,在“新建菜單”對(duì)話(huà)框中單擊“菜單”圖標(biāo)按鈕,打開(kāi)菜單設(shè)計(jì)器。②在“菜單名稱(chēng)”列的文本框中依次輸入“查詢(xún)”和“退出”兩個(gè)主菜單名,在“退出”菜單“結(jié)果”下拉框中選擇為“命令”,在后面的文本框中輸入命令:SETSYSMENUTODEFAULT。(2)①在命令窗口執(zhí)行命令:MODIFYDATABASESCORE_MANAGER,打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。②右擊course表,選擇【修改】,打開(kāi)表設(shè)計(jì)器,將“字段”選項(xiàng)卡中的“開(kāi)課系部”字段名修改為“開(kāi)課單位”,單擊“確定”按鈕保存。(3)右擊temp2表,選擇【刪除】,彈出提示對(duì)話(huà)框中單擊“移去”,接著彈出的提示對(duì)話(huà)框中單擊“是”,將temp2表從數(shù)據(jù)庫(kù)中移去。(4)在命令窗口執(zhí)行:SELECT*FROMSCORE1ORDERBY學(xué)號(hào),成績(jī)DESCINTOTABLENEW_ORDER。知識(shí)點(diǎn)解析:本題考查了菜單的建立、表結(jié)構(gòu)的修改、數(shù)據(jù)庫(kù)設(shè)計(jì)器的使用和SQL查詢(xún)語(yǔ)句。當(dāng)將數(shù)據(jù)庫(kù)表從數(shù)據(jù)庫(kù)中移去后,就成為自由表。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、(1)打開(kāi)程序文件cylinder.prg,請(qǐng)按要求修改程序并運(yùn)行程序。(2)以表employee.dbf和orders.dbf中數(shù)據(jù)為基礎(chǔ),使用SQL命令檢索訂單數(shù)最多的前3名職工的職工號(hào)、姓名和訂單數(shù),檢索結(jié)果按訂單數(shù)降序排序存入表newcoun.dbf,同時(shí)將所用SQL命令存入文件new.txt中。標(biāo)準(zhǔn)答案:(1)步驟1:在命令窗口執(zhí)行命令:MODIFYCOMMANDcylinder,打開(kāi)cylinder.prg程序,代碼如下:*本程序的功能為輸入圓柱體的半徑和高,計(jì)算圓柱體表面積。*請(qǐng)將程序修改為函數(shù)調(diào)用方式(注意不得增刪語(yǔ)句行)。1SETTALKOFF2CLEAR3LOCALcarea4INPUT"請(qǐng)輸入圓柱體的半徑"TOr5INPUT"請(qǐng)輸入圓柱體的高"TOh6DOcyaWITHr,h,carea7?"圓柱體的表面積為:",carea8RETURN9PROCEDUREcya10PARAMETERSa,b,c11LOCALpai12pai=3.1415913c=2*(pai*a^2)+2*pal*a*b14RETURN15ENDPROC>修改程序中的錯(cuò)誤行,修改后的程序如下:1SETTALKOFF2CLEAR3LOCALcarea&&定義局部變量local4INPUT"輸入圓柱體的半徑:"TOr&&從鍵盤(pán)輸入一個(gè)半徑值5INPUT"輸入圓柱體的高:"TOh&&從鍵盤(pán)輸入一個(gè)高值6carea=cya(r,h)&&調(diào)用模塊程序,轉(zhuǎn)到PROCEDURE命令行執(zhí)行程序,按值方式傳遞參數(shù)7?”圓柱體的表面積為:",carea8RETURN9PROCEDUREcya&&過(guò)程的開(kāi)始,并命名過(guò)程名為cya10PARAMETERSa,b,c&&聲明的行參變量被看作是模塊程序中的私有變量11LOCALpai12pai=3.14l5913c=2*(pai*a^2)+2*pai*a*b&&計(jì)算圓柱體表面積的表達(dá)式14RETURNC&&將計(jì)算的表達(dá)式值返回上級(jí)模塊15ENDPROC步驟2:保存文件修改,在命令窗口執(zhí)行命令:DOYZT.PRG,執(zhí)行程序文件。(2)步驟1:在命令窗口執(zhí)行命令:MODIFYFILEnew,打開(kāi)文本編輯器編寫(xiě)SQL命令。步驟2:在編輯器中輸入如下程序代碼(以下程序是通過(guò)查詢(xún)?cè)O(shè)計(jì)器生成):1SELECTTOP3Employee.職工號(hào),Employee.姓名,COUNT(*)訂單數(shù);2FROMemployeeINNERJOINorders;3ONEmployee.職工號(hào)=Orders.職工號(hào);4GROUPBYEmployee.職工號(hào);5ORDERBY3DESC;6INTOTABLEnewcoun.dbf步驟3:在命令窗口執(zhí)行命令:DONEW.TXT,執(zhí)行文件(注意:執(zhí)行文件時(shí),文件后綴名.txt不能缺省)。知識(shí)點(diǎn)解析:(1)本題主要考查的是模塊的定義和調(diào)用。在本題中,當(dāng)用函數(shù)調(diào)用方式時(shí),要想在主程序中輸出carea的值,應(yīng)該在子程序的最后返回計(jì)算的表面積值c。而在主程序中,應(yīng)當(dāng)將調(diào)用函數(shù)返回的值賦值給carea變量,即“carea=area(r,h)”。這時(shí),實(shí)參就變成了兩個(gè):r、h,而子程序的形參有三個(gè):a、b、c。這樣是可以的。我們說(shuō)在調(diào)用模塊時(shí),系統(tǒng)會(huì)自動(dòng)把實(shí)參一一傳遞給對(duì)應(yīng)的形參,形參的數(shù)目不能少于實(shí)參的數(shù)目,因?yàn)閭鬟f過(guò)來(lái)的每一個(gè)實(shí)參都要有對(duì)應(yīng)的形參接收,如果形參的數(shù)目比實(shí)參少,那多出來(lái)的實(shí)參就好像找不到地址的信件一樣,不知該送去哪里,這時(shí)系統(tǒng)就會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。但是,形參的數(shù)目可以多于實(shí)參的數(shù)目,這時(shí),多余的形參變量取初值邏輯假(.F.)。(2)本題要求利用SQL語(yǔ)句進(jìn)行查詢(xún),用到了employ和order兩張表,可以使用聯(lián)接查詢(xún)。因?yàn)橐檎矣唵螖?shù)最多的前兩名職工,應(yīng)該按職工號(hào)分組,并求出每一組中記錄的個(gè)數(shù),即是每個(gè)職工的訂單數(shù),要分別使用groupby短語(yǔ)和count()計(jì)數(shù)函數(shù);另外,因?yàn)橹徊檎易疃嗟那皟擅?,?yīng)該按降序排序,并使用top短語(yǔ);將查詢(xún)結(jié)果保存在永久表中,應(yīng)使用INTOTABLE短語(yǔ)。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下,先打開(kāi)學(xué)生數(shù)據(jù)庫(kù)sdb,然后創(chuàng)建一個(gè)文件名為form的表單,完成如下綜合應(yīng)用:在該表單中設(shè)計(jì)兩個(gè)命令按鈕,各命令按鈕的功能如下:①“查詢(xún)”按鈕(Command1):在該按鈕的Click事件中使用SQL的SELECT命令查詢(xún)每個(gè)學(xué)生所選的所有課程的成績(jī)都是60分以上(包括60分)的學(xué)生的學(xué)號(hào)、姓名、平均成績(jī)和最低分,并將查詢(xún)結(jié)果按學(xué)號(hào)升序排序存儲(chǔ)到表four中。表four的字段為學(xué)號(hào)、姓名、平均成績(jī)、最低分。②“退出”按鈕(Command2):?jiǎn)螕簟巴顺觥卑粹o時(shí),關(guān)閉表單。表單設(shè)計(jì)完成后,運(yùn)行該表單進(jìn)行查詢(xún)。標(biāo)準(zhǔn)答案:步驟1:命令窗口執(zhí)行:CREATEFORMFORM,打開(kāi)表單設(shè)計(jì)器新建表單。向表單添加兩個(gè)命令按鈕。步驟2:選擇表單對(duì)象,修改對(duì)象屬性值,見(jiàn)表3.19。步驟3:編寫(xiě)各個(gè)命令按鈕的Click事件代碼如下:*****“查詢(xún)”按鈕的Click事件代碼*****SELECTstudent.學(xué)號(hào),student.姓名,AVG(成績(jī))AS平均成績(jī),MIN(成績(jī))AS最低分;FROMsdb!stladerltINNERJOINsdb!SC;ONstudent.學(xué)號(hào)=sc.學(xué)號(hào);GROUPBYstudent.學(xué)號(hào)HAVINGMIN(成績(jī))>=60;ORDERBYstudent.學(xué)號(hào);INTOTARLEfour.dbf*****“退出”按鈕的Click事件代碼****THISFORM.RELEASE步驟4:?jiǎn)螕簟俺S谩惫ぞ邫谥械摹斑\(yùn)行”按鈕查看結(jié)果,將表單文件保存到考生文件夾下。知識(shí)點(diǎn)解析:本題主要考查的是表單的建立、常用屬性的設(shè)置和SQL分組與計(jì)算查詢(xún)。SQL分組與計(jì)算查詢(xún)是對(duì)student和sc兩表進(jìn)行聯(lián)接查詢(xún),通過(guò)AVG和MIN函數(shù)計(jì)算,根據(jù)題意,在進(jìn)行分組時(shí),需要先將學(xué)號(hào)相同的記錄分到一組,然后同havinq子句對(duì)每組中的成績(jī)進(jìn)行判斷是否全部大于等于60分,這樣就可以找出滿(mǎn)足條件的記錄,通過(guò)orderby短語(yǔ)對(duì)查詢(xún)結(jié)果排序,最后將結(jié)果保存到指定的表中。國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第4套一、基本操作題(本題共1題,每題1.0分,共1分。)1、在考生文件夾下,有一個(gè)學(xué)生數(shù)據(jù)庫(kù)sdb,打開(kāi)該數(shù)據(jù)庫(kù),完成如下操作:(1)在學(xué)生表student中增加一個(gè)名為“照片”的字段,字段數(shù)據(jù)類(lèi)型為“通用”。(2)在教師表teacher中建立一個(gè)索引名為“教師號(hào)”的主索引(升序),索引表達(dá)式為教師號(hào)。在課程表course中建立一個(gè)普通索引(升序),索引名為“教師號(hào)”,索引表達(dá)式為教師號(hào)。(3)建立選課表SC和學(xué)生表student之間的永久聯(lián)系;建立選課表sc與課程表course之間的永久聯(lián)系;建立教師表teacher和課程表course之間的永久聯(lián)系。并為以上建立的聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為“級(jí)聯(lián)”;刪除規(guī)則為“限制”;插入規(guī)則為“限制”。(4)使用表單向?qū)Ы⒁粋€(gè)名稱(chēng)為sform的表單。要求選擇學(xué)生表student中所有字段;表單樣式為陰影式;按鈕類(lèi)型為圖片按鈕;選定排序字段為學(xué)號(hào)(升序);表單標(biāo)題為“學(xué)生表數(shù)據(jù)輸入”。標(biāo)準(zhǔn)答案:(1)①命令窗口執(zhí)行:MODIFYDATABASEsdb,打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。②數(shù)據(jù)庫(kù)設(shè)計(jì)器中,右擊student表,選擇【修改】,打開(kāi)表設(shè)計(jì)器,“字段”選項(xiàng)卡的“字段名”列的最后一個(gè)空白文本框中輸入字段名“照片”,“類(lèi)型”下拉框中選擇“通用型”,單擊“確定”按鈕保存表結(jié)構(gòu)修改。(2)①使用上題中為student表建立索引類(lèi)似的方法為teacher表建立索引。②數(shù)據(jù)庫(kù)設(shè)計(jì)器中,右擊course表,選擇【修改】,打開(kāi)表設(shè)計(jì)器,“字段”選項(xiàng)卡中選中“教師號(hào)”,在“索引”列中選擇“升序”,單擊“確定”按鈕保存表結(jié)構(gòu)修改。(3)①在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,拖動(dòng)student表“索引”下方的主索引“學(xué)號(hào)”到sc表中“索引”下方的普通索引“學(xué)號(hào)”上,為兩個(gè)表建立聯(lián)系。②拖動(dòng)course表“索引”下方的主索引“課程號(hào)”到sc表中“索引”下方的普通索引“課程號(hào)”上,為兩個(gè)表建立聯(lián)系。③拖動(dòng)teacher表“索引”下方的主索引“教師號(hào)”到course表中“索引”下方的普通索引“教師號(hào)”上,為兩個(gè)表建立聯(lián)系。④選中student和sc兩個(gè)表之間的關(guān)聯(lián)線(被選中的線會(huì)變粗),首先執(zhí)行【數(shù)據(jù)庫(kù)】→【清理數(shù)據(jù)庫(kù)】菜單命令,清空數(shù)據(jù)庫(kù)表中帶有刪除標(biāo)記的記錄,然后執(zhí)行【數(shù)據(jù)庫(kù)】→【編輯參照完整性】菜單命令。在“參照完整性”對(duì)話(huà)框的表格中,將其中的三對(duì)關(guān)系均做如下操作:選擇“更新”下的單元格內(nèi)容為“級(jí)聯(lián)”;“刪除”下的單元格內(nèi)容為“限制”;“插入”下的單元格內(nèi)容為“限制”。單擊“確定”按鈕保存參照完整性的修改。(4)①命令窗口執(zhí)行:OPENDATABASEsdb,打開(kāi)sdb數(shù)據(jù)庫(kù)。②執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在“新建”對(duì)話(huà)框中選“表單”選項(xiàng),單擊“向?qū)А眻D標(biāo)按鈕,彈出“向?qū)нx取”對(duì)話(huà)框,選中“表單向?qū)А表?xiàng),單擊“確定”按鈕,啟動(dòng)表單向?qū)?。③”步驟1.字段選取”的“數(shù)據(jù)庫(kù)和表”下選“student”表,將“可用字段”全部添加到“選定字段”,單擊“下一步”。④“步驟2.選擇表單樣式”界面的“樣式”下選中“陰影式”,在“按鈕類(lèi)型”下選擇“圖片按鈕”,單擊“下一步”。⑤“步驟3.排序次序”中雙擊“可用的字段或索引標(biāo)識(shí)”中的“學(xué)號(hào)”字段到“選定字段”列表中,再選擇“升序”,單擊“下一步”。⑥“步驟4.完成”界面中的“請(qǐng)鍵入表單標(biāo)題”下方文本框中輸入“學(xué)生表數(shù)據(jù)輸入”,單擊“完成”按鈕。⑦在“另存為”對(duì)話(huà)框的“保存表單為:”框中輸入表單文件名sform,單擊“保存”按鈕。使用數(shù)據(jù)庫(kù);索引;參照完整性;創(chuàng)建和運(yùn)行表單。知識(shí)點(diǎn)解析:本題考查了表結(jié)構(gòu)的修改:索引的建立及參照完整性的設(shè)置:表單向?qū)У氖褂?。在表設(shè)計(jì)器的“字段”選項(xiàng)卡中選擇“排序”中的“升序”或“降序”為指定的字段建立一個(gè)索引名與索引表達(dá)式相同的普通索引,“索引”選項(xiàng)卡中可對(duì)索引名或索引類(lèi)型進(jìn)行修改。在建立參照完整性前要先建立兩個(gè)表的關(guān)聯(lián),且有一個(gè)表中必須建立關(guān)聯(lián)字段的主索引(或候選索引),另一個(gè)表要建立普通索引,建立兩個(gè)表聯(lián)系后要先清理數(shù)據(jù)庫(kù),然后再設(shè)置參照完整性。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、在考生文件夾下,打開(kāi)學(xué)生數(shù)據(jù)庫(kù)sdb,完成如下簡(jiǎn)單應(yīng)用:(1)使用查詢(xún)?cè)O(shè)計(jì)器設(shè)計(jì)一個(gè)名稱(chēng)為svg的查詢(xún),查詢(xún)每個(gè)“女”同學(xué)的學(xué)號(hào)(來(lái)自student表)、姓名、課程名、成績(jī)和任課教師(來(lái)自teacher表的教師名),查詢(xún)結(jié)果按學(xué)號(hào)升序排序并輸出到表one(查詢(xún)?nèi)ハ颍┲小TO(shè)計(jì)完成后,運(yùn)行該查詢(xún)。表one中的字段分別為:學(xué)號(hào)、姓名、課程名、成績(jī)、任課教師。(2)在考生文件夾下,使用快捷菜單設(shè)計(jì)器設(shè)計(jì)一個(gè)名稱(chēng)為smenu的快捷菜單。要求如下:菜單包括“數(shù)據(jù)瀏覽”和“退出”兩個(gè)菜單項(xiàng):①“數(shù)據(jù)瀏覽”菜單包括“學(xué)生表”、“選課表”和“課程表”三個(gè)子菜單:學(xué)生表子菜單在過(guò)程中使用SQL語(yǔ)句“SELECT*FROMstudent”查詢(xún)學(xué)生表的記錄。選課表子菜單在過(guò)程中使用SQL語(yǔ)句“SELECT*FROMSC”查詢(xún)學(xué)生選課表的記錄。課程表選項(xiàng)在過(guò)程中使用SQL語(yǔ)句“SELECT*FROMcourse”查詢(xún)課程表的記錄。②“退出”菜單使用命令返回系統(tǒng)默認(rèn)的菜單。標(biāo)準(zhǔn)答案:(1)步驟1:命令窗口執(zhí)行:OPENDATABASEsdb,打開(kāi)數(shù)據(jù)庫(kù)環(huán)境。步驟2:命令窗口執(zhí)行:CREATEQUERYsvg,打開(kāi)查詢(xún)?cè)O(shè)計(jì)器,在“添加表或視圖”對(duì)話(huà)框中,分別雙擊student表、sc表、course表和teacher表添加到查詢(xún)?cè)O(shè)計(jì)器中,在查詢(xún)?cè)O(shè)計(jì)器中自動(dòng)建立4個(gè)表之間聯(lián)系。步驟3:在“字段”選項(xiàng)卡的“可用字段”中,依次雙擊“student.學(xué)號(hào)”、“student.性名”、“course.課程名”、“sc.成績(jī)”,添加到“選定字段”列表中;在“函數(shù)和表達(dá)式”下的文本框中輸入表達(dá)式:teacher.教師名as任課教師,再單擊“添加”按鈕,將其添加到“選定字段”列表中。步驟4:在“篩選”選項(xiàng)卡內(nèi)的“字段名”列中選擇“student.性別”,“條件”列選擇“=”,“實(shí)例”列輸入“女”。步驟5:在“排序依據(jù)”選項(xiàng)卡內(nèi)雙擊“選定字段”列表框中的“student.學(xué)號(hào)”,將其添加到“排序條件”列表框中,在“排序選項(xiàng)”中選擇“升序”。步驟6:執(zhí)行【查詢(xún)】→【查詢(xún)?nèi)ハ颉坎藛蚊?,在“查?xún)?nèi)ハ颉睂?duì)話(huà)框中單擊“表”按鈕,在“表名”中輸入文件名one,單擊“確定”按鈕。步驟7:最后單擊“常用”工具欄中的“運(yùn)行”按鈕查看結(jié)果,將查詢(xún)文件保存到考生文件夾下。查詢(xún)的建立與使用。(2)步驟1:命令窗口執(zhí)行:CREATEMENUsmenu,彈出的“新建菜單”中單擊“快捷菜單”按鈕,打開(kāi)菜單設(shè)計(jì)器。步驟2:在“菜單名稱(chēng)”列的文本框中依次輸入“數(shù)據(jù)瀏覽”和“退出”兩個(gè)主菜單名,“數(shù)據(jù)瀏覽”菜單命令的“結(jié)果”下拉框中選擇為“子菜單”,單擊“創(chuàng)建”按鈕進(jìn)入下級(jí)菜單設(shè)計(jì),在“菜單名稱(chēng)”列的第1、2、3行文本框中依次輸入子菜單名“學(xué)生表”、“選課表”和“課程表”,將3個(gè)子菜單的“結(jié)果”都設(shè)置為“過(guò)程”,分別單擊3個(gè)過(guò)程后面的“創(chuàng)建”按鈕打開(kāi)過(guò)程編輯器,編寫(xiě)過(guò)程代碼。步驟3:三個(gè)過(guò)程代碼如下:“學(xué)生表”菜單命令:SELECT*FROMstudent?!罢n程表”菜單命令:SELECT*FROMcourse?!斑x課表”菜單命令:SELECT*FROMsc。步驟4:通過(guò)“菜單級(jí)”下拉框返回主菜單項(xiàng)設(shè)計(jì)界面,設(shè)置“退出”菜單項(xiàng)的“結(jié)果”列為“命令”,并輸入命令語(yǔ)句:SETSYSMENUTODEFAULT。步驟5:執(zhí)行【菜單】→【生成】菜單命令,在彈出的VisualFoxPro對(duì)話(huà)框中單擊“是”按鈕,系統(tǒng)會(huì)彈出“生成菜單”對(duì)話(huà)框,單擊“生成”按鈕生成一個(gè)可執(zhí)行的菜單文件(smenu.mpr)??旖莶藛卧O(shè)計(jì)。知識(shí)點(diǎn)解析:(1)本題主要考查的是查詢(xún)?cè)O(shè)計(jì)器的使用。應(yīng)按照student表、sc表、course表和teacher表的順序?qū)⑵涮砑拥讲樵?xún)?cè)O(shè)計(jì)器,再根據(jù)題目要求從每個(gè)表中選取字段,設(shè)置查詢(xún)條件等完成查詢(xún)??稍诓樵?xún)?cè)O(shè)計(jì)器“字段”選項(xiàng)卡的“函數(shù)和表達(dá)式”下的文本框中輸入表達(dá)式,同時(shí)也可以通過(guò)打開(kāi)“表達(dá)式生成器”對(duì)話(huà)框進(jìn)行輸入,可以通過(guò)AS短語(yǔ)指定為輸入的表達(dá)式指定一個(gè)新的字段名。(2)本題主要考查了快捷菜單的設(shè)計(jì),快捷菜單僅包括一個(gè)彈出式菜單,其他設(shè)計(jì)基本上都與下拉菜單的設(shè)計(jì)一致。編寫(xiě)“退出”菜單命令時(shí),要熟記返回系統(tǒng)菜單的命令語(yǔ)句:SETSYSMENUTODEFAULT;最后注意生成可執(zhí)行菜單文件。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下,先打開(kāi)學(xué)生數(shù)據(jù)庫(kù)sdb,然后創(chuàng)建文件名為tform的表單,完成如下綜合應(yīng)用:在該表單中設(shè)計(jì)兩個(gè)命令按鈕,各命令按鈕的功能如下:①“查詢(xún)”按鈕(Commandl):在該按鈕的“Click”事件中使用SQL的SELECT命令查詢(xún)選課數(shù)量大于等于4門(mén)且平均成績(jī)大于等于75分的每個(gè)同學(xué)的學(xué)號(hào)、姓名、平均成績(jī)和選課門(mén)數(shù),查詢(xún)結(jié)果按平均成績(jī)降序排序并存儲(chǔ)到表two中。表two中的字段名分別為:學(xué)號(hào)、姓名、平均成績(jī)、選課門(mén)數(shù)。②“退出”按鈕(Command2):?jiǎn)螕簟巴顺觥卑粹o時(shí),關(guān)閉表單。表單設(shè)計(jì)完成后,運(yùn)行該表單,點(diǎn)擊“查詢(xún)”按鈕進(jìn)行查詢(xún)。標(biāo)準(zhǔn)答案:步驟1:命令窗口執(zhí)行:CREATEFORMtform,建表單。從“表單工具欄”中依次向表單添加兩個(gè)命令按鈕。步驟2:選擇表單對(duì)象,修改對(duì)象屬性值,見(jiàn)表4—34。步驟3:編寫(xiě)各個(gè)命令按鈕的Click事件代碼如下:*****“查詢(xún)”按鈕的Click事件代碼*****SELECTStudent.學(xué)號(hào),姓名,AVG(成績(jī))AS平均成績(jī),COUNT(*)AS選課門(mén)數(shù);FROMStudent,Sc;WHEREStudent.學(xué)號(hào)=Sc.學(xué)號(hào);GROUPBYSc.學(xué)號(hào);HAVINGCOUNT(*)>=4AND平均成績(jī)>=75;ORDERBY平均成績(jī)DESC;INTODBFTWO*****“退出”按鈕的Click事件代碼*****THISFORM.RELEASE步驟4:?jiǎn)螕簟俺S谩惫ぞ邫谥械摹斑\(yùn)行”按鈕運(yùn)行表單,單擊“統(tǒng)計(jì)”按鈕查看結(jié)果,將表單文件保存到考生文件夾下。創(chuàng)建和運(yùn)行表單;基本型控件;SQL分組與計(jì)算查詢(xún)。知識(shí)點(diǎn)解析:本題主要考查的是表單的建立、常用屬性的設(shè)置:SQL簡(jiǎn)單查詢(xún)及SQL簡(jiǎn)單計(jì)算查詢(xún)?!敖y(tǒng)計(jì)”按鈕中需要設(shè)計(jì)一個(gè)SQL查詢(xún),用于計(jì)數(shù)的函數(shù)為COUNT(),用于求平均值的函數(shù)為AVG()。國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第5套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)打開(kāi)考生文件夾下的數(shù)據(jù)庫(kù)SPORT,首先永久刪除該數(shù)據(jù)庫(kù)中的temp表,然后將“金牌榜”“獲獎(jiǎng)牌情況”和“國(guó)家”3個(gè)自由表加入該數(shù)據(jù)庫(kù)中。(2)在表設(shè)計(jì)器中,為表“金牌榜”建立一個(gè)普通索引,索引名和索引表達(dá)式均為“金牌數(shù)”。(3)使用SQL語(yǔ)句為表“金牌榜”增加一個(gè)字段“獎(jiǎng)牌總數(shù)”(整數(shù)型),同時(shí)為該字段設(shè)置有效性規(guī)則:獎(jiǎng)牌總數(shù)>=0。請(qǐng)將該SQL語(yǔ)句存儲(chǔ)在文件one.prg中,否則不得分。(4)使用SQL語(yǔ)句更改表“金牌榜”所有記錄的“獎(jiǎng)牌總數(shù)”字段值,該值應(yīng)為“金牌數(shù)”“銀牌數(shù)”“銅牌數(shù)”3項(xiàng)之和。請(qǐng)將該SQL語(yǔ)句存儲(chǔ)在文件two.prg中,否則不得分。標(biāo)準(zhǔn)答案:【操作步驟】(1)①命令窗口執(zhí)行:MODIFYDATABASEsport,打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。②右擊數(shù)據(jù)庫(kù)設(shè)計(jì)器中的temp表,選擇【刪除】,在彈出的對(duì)話(huà)框中單擊“刪除”按鈕,將“temp”表永久性刪除。③在數(shù)據(jù)庫(kù)設(shè)計(jì)器中右擊,選擇【添加表】,在“打開(kāi)”對(duì)話(huà)框中雙擊“金牌榜”表加到數(shù)據(jù)庫(kù)中,以同樣的方法將“獲獎(jiǎng)牌情況”表和“國(guó)家”表添加到數(shù)據(jù)庫(kù)中。(2)①在命令窗口輸入如下代碼,打開(kāi)表設(shè)計(jì)器:USE金牌榜MODIRYSTRUCTURE②在表設(shè)計(jì)器的“字段”選項(xiàng)卡中選中“金牌數(shù)”,“索引”列“升序”排序方式,單擊“確定”保存表結(jié)構(gòu)修改。(3)①命令窗口執(zhí)行:MODIFYCOMMANDone,打開(kāi)程序文件編輯器。②在編輯器中輸入如下程序代碼:ALTERTABLE金牌榜ADD獎(jiǎng)牌總數(shù)ICHECK獎(jiǎng)牌總數(shù)>=0③命令窗口執(zhí)行:DOone,執(zhí)行程序文件。(4)①在命令窗口執(zhí)行命令:MODIFYCOMMANDtwo,打開(kāi)程序文件編輯器,輸入如下程序代碼:UPDATE金牌榜SET獎(jiǎng)牌總數(shù)=金牌數(shù)+銀牌數(shù)+銅牌數(shù)②在命令窗口執(zhí)行命令:DOtwo,執(zhí)行程序文件。知識(shí)點(diǎn)解析:暫無(wú)解析二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、在考生文件夾下完成下列操作:用戶(hù)文件下以存在client(用戶(hù))表、topic(主題)表和reply(回復(fù))表。(1)考生文件夾下已有文件pone.prg,但其中有4處內(nèi)容缺失,請(qǐng)?zhí)畛渲2灰薷某绦虻钠渌麅?nèi)容。程序的功能是:根據(jù)reply表統(tǒng)計(jì)各主題帖的回復(fù)數(shù),并將統(tǒng)計(jì)值存入topic表中的已存在的“回復(fù)數(shù)”字段。最后要運(yùn)行該程序文件。(2)使用SElLECT語(yǔ)句查詢(xún)用戶(hù)名為chengguowe的客戶(hù)發(fā)布的主題的所有回復(fù)。查詢(xún)結(jié)果包含編號(hào)、用戶(hù)名、回復(fù)時(shí)間和主題帖編號(hào)四項(xiàng)內(nèi)容,各記錄按主題帖編號(hào)升序進(jìn)行排序,主題帖編號(hào)相同再按回復(fù)時(shí)間升序排序,查詢(xún)結(jié)果存放在表tableone中。最后將該語(yǔ)句保存在命令文件ptwo.prg中。標(biāo)準(zhǔn)答案:(1)【操作步驟】步驟1:打開(kāi)考生目錄下的pone.prg文件。步驟2:(1)處行應(yīng)改為“indexon主題帖編號(hào)tozhuti”。步驟3:(2)處行應(yīng)改為“setrelationto編號(hào)into2”。步驟4:(3)處行應(yīng)改為“bh=編號(hào)”。步驟5:(4)處行應(yīng)改為“d0while主題帖編號(hào):bh”。步驟6:保存并運(yùn)行該程序。(2)【操作步驟】步驟1:建立菜單可以使用菜單命令的方式,選擇“文件”菜單下的“新建”自命令,彈出“新建”對(duì)話(huà)框,文件類(lèi)型選擇“程序”。步驟2:?jiǎn)螕簟靶陆ㄎ募眻D標(biāo)按鈕打開(kāi)程序編輯界面。步驟3:輸入SELECT查詢(xún)命令:selectreply.編號(hào),reply.用戶(hù)名,reply.回復(fù)時(shí)間,reply.主題帖編號(hào);fromclient,topic,reply;whereclient.用戶(hù)名=topic.用戶(hù)名andtoDic.編號(hào)=redly.主題帖編號(hào)andclient.用戶(hù)名=chenc[quowe”0rderbvrepiy.主題帖編號(hào),reply.回復(fù)時(shí)間;intotabletableone步驟4:?jiǎn)螕舨藛喂ぞ邫诘摹氨4妗卑粹o,彈出“另存為”對(duì)話(huà)框,輸入程序名為:ptwo.prg,保存到考生文件夾。步驟5:執(zhí)行該程序。知識(shí)點(diǎn)解析:暫無(wú)解析三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下,先打開(kāi)學(xué)生數(shù)據(jù)庫(kù)sdb,然后創(chuàng)建文件名為tform的表單,完成如下綜合應(yīng)用:在該表單中設(shè)計(jì)兩個(gè)命令按鈕,各命令按鈕的功能如下:①“查詢(xún)”按鈕(Commandl):在該按鈕的“Click”事件中使用SQL的SELECT命令查詢(xún)選課數(shù)量大于等于4門(mén)且平均成績(jī)大于等于75分的每個(gè)目學(xué)的學(xué)號(hào)、姓名、平均成績(jī)和選課門(mén)數(shù),查詢(xún)結(jié)果按平均成績(jī)降序排序并存儲(chǔ)到表two中。表two中的字段名分別為:學(xué)號(hào)、姓名、平均成績(jī)、選課門(mén)數(shù)。②“退出”按鈕(Command2):?jiǎn)螕簟巴顺觥卑粹o時(shí),關(guān)閉表單。表單設(shè)計(jì)完成后,運(yùn)行該表單,點(diǎn)擊“查詢(xún)”按鈕進(jìn)行查詢(xún)。標(biāo)準(zhǔn)答案:【操作步驟】步驟1:命令窗口執(zhí)行:CREATEFORMtform,建表單。從“表單工具欄”中依次向表單添加兩個(gè)命令按鈕。步驟2:選擇表單對(duì)象,修改對(duì)象屬性值,見(jiàn)表4.34。步驟3:編寫(xiě)各個(gè)命令按鈕的Click事件代碼如下:*****“查詢(xún)”按鈕的Click事件代碼*****SELECTstudent.學(xué)號(hào).姓名,AVG(成績(jī))As平均成績(jī),COUNT(*)AS選課門(mén)數(shù);FROMStudent,Sc;WHEREstudent.學(xué)號(hào)=sc.學(xué)號(hào);GROUPBYsc.學(xué)號(hào);HAVINGCOUNT(*)>=4AND平均成績(jī)>=75;ORDERBY平均成績(jī)DESC;INTODBFTWO*****“退出”按鈕的Click事件代碼*****THISFORM.RELEASE步驟4:?jiǎn)螕簟俺S谩惫ぞ邫谥械摹斑\(yùn)行”按鈕運(yùn)行表單,單擊“統(tǒng)計(jì)”按鈕查看結(jié)果,將表單文件保存到考生文件夾下。知識(shí)點(diǎn)解析:暫無(wú)解析國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第6套一、基本操作題(本題共1題,每題1.0分,共1分。)1、在考生文件夾下完成如下基本操作:1.通過(guò)SQLINSERT語(yǔ)句插入元組("p7","PN7",1020)到“零件信息”表(注意不要重復(fù)執(zhí)行插入操作),并將相應(yīng)的SQL語(yǔ)句存儲(chǔ)在文件one.prg中。2.通過(guò)SQLDELETE語(yǔ)句從“零件信息”表中刪除單價(jià)小于600的所有記錄,并將相應(yīng)的SQL語(yǔ)句存儲(chǔ)在文件two.prig中。3.通過(guò)SQLUPDATE語(yǔ)句將“零件信息”表中零件號(hào)為“p4”的零件的單價(jià)更改為1090,并將相應(yīng)的SQL語(yǔ)句存儲(chǔ)在文件three.prg中。4.打開(kāi)菜單文件mymenu.mnx,然后生成可執(zhí)行的菜單程序mymenu.mpr。標(biāo)準(zhǔn)答案:(1)打開(kāi)VisualFoxPro,在命令窗口輸入“INSERTINTO零件信息VALUES("p7","PN7",1020)”,并按下回車(chē)鍵執(zhí)行語(yǔ)句。然后創(chuàng)建一個(gè)程序文件one.prg,把代碼復(fù)制過(guò)去并保存。(2)在命令窗口輸入“DELETEFROM零件信息WHERE單價(jià)<600”,并按下回車(chē)鍵執(zhí)行語(yǔ)句。然后創(chuàng)建一個(gè)程序文件two.prg,把代碼復(fù)制過(guò)去并保存。(3)在命令窗口輸入“UPDATE零件信息SET單價(jià)=1090WHERE零件號(hào)="p4"”,并按下回車(chē)鍵執(zhí)行語(yǔ)句。然后創(chuàng)建一個(gè)程序文件three.prg,把代碼復(fù)制過(guò)去并保存。(4)打開(kāi)菜單mymenu.mnx后,選擇系統(tǒng)菜單中的“菜單”,然后選擇“生成”。知識(shí)點(diǎn)解析:對(duì)于第1、2、3小題,需先在命令窗口中完成正確的SQL語(yǔ)句的編寫(xiě)并執(zhí)行,然后檢查SQL語(yǔ)句的執(zhí)行結(jié)果,接下來(lái)新建題目要求的程序文件,最后將SQL語(yǔ)句復(fù)制到新建的程序文件中。生成可執(zhí)行的菜單程序需先打開(kāi)菜單文件,然后執(zhí)行“菜單”菜單中的“生成”命令。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、在考生文件夾,打開(kāi)商品銷(xiāo)售數(shù)據(jù)庫(kù)CDB,完成如下簡(jiǎn)單應(yīng)用:1.使用一對(duì)多報(bào)表向?qū)Ы⒚Q(chēng)為P_ORDER的報(bào)表。要求從父表顧客表CUST中選擇所有字段,從子表訂單表ORDER中選擇所有字段;兩表之間采用“顧客號(hào)”字段連接;按“顧客號(hào)”字段升序排序;報(bào)表樣式為“經(jīng)營(yíng)式”,方向?yàn)椤翱v向”;報(bào)表標(biāo)題為“顧客訂單表”。然后修改該報(bào)表,在頁(yè)注腳中增加一個(gè)標(biāo)簽“制表人:王愛(ài)學(xué)”;該標(biāo)簽水平居中,標(biāo)簽中的“:”為中文的冒號(hào)。2.修改一個(gè)名稱(chēng)為T(mén)WO.PRG的命令文件。該命令文件統(tǒng)計(jì)每個(gè)顧客購(gòu)買(mǎi)商品的金額合計(jì)(應(yīng)付款),結(jié)果存儲(chǔ)在臨時(shí)表1s中。然后用1s中的每個(gè)顧客的數(shù)據(jù)去修改表scust對(duì)應(yīng)的記錄。該命令文件有3行語(yǔ)句有錯(cuò)誤,打開(kāi)該命令文件進(jìn)行修改。注意:直接在錯(cuò)誤處修改,不改變SQL語(yǔ)句的結(jié)構(gòu)和短語(yǔ)的順序,不允許增加、刪除或合并行,修改完成后,運(yùn)行該命令文件。標(biāo)準(zhǔn)答案:(1)步驟1:?jiǎn)螕簟按蜷_(kāi)”按鈕,在“打開(kāi)”對(duì)話(huà)框中選擇考生文件夾下的CDB數(shù)據(jù)庫(kù)。步驟2:?jiǎn)螕舫S霉ぞ邫谥械摹靶陆ā卑粹o,“文件類(lèi)型”選擇“報(bào)表”,利用向?qū)?chuàng)建報(bào)表。步驟3:在“向?qū)нx取”對(duì)話(huà)框中,選擇“一對(duì)多報(bào)表向?qū)А辈螕簟按_定”按鈕,并顯示“一對(duì)多報(bào)表向?qū)А睂?duì)話(huà)框。步驟4:在“一對(duì)多報(bào)表向?qū)А睂?duì)話(huà)框的“步驟1一從父表選擇字段”中,在“數(shù)據(jù)庫(kù)和表”列表框中,選擇表CUST,然后在“可用字段”列表框中顯示表CUST的所有字段名,并選定所有字段至“選定字段”列表框中,單擊“下一步”按鈕。步驟5:在“一對(duì)多報(bào)表向?qū)А睂?duì)話(huà)框的“步驟2一從子表選擇字段”中。在“數(shù)據(jù)庫(kù)和表”列表框中,選擇表ORDER,然后在“可用字段”列表框中顯示表ORDER的所有字段名,并選定所有字段至“選定字段”列表框中,單擊“下一步”按鈕。步驟6:在“一對(duì)多報(bào)表向?qū)А睂?duì)話(huà)框的“步驟3一為表建立關(guān)系”中,單擊“下一步”按鈕。步驟7:在“一對(duì)多報(bào)表向?qū)А睂?duì)話(huà)框的“步驟4一排序記錄”中,選擇“顧客號(hào)”和“升序”單選按鈕,再單擊“添加”按鈕,單擊“下一步”按鈕。步驟8:在“一對(duì)多報(bào)表向?qū)А睂?duì)話(huà)框的“步驟5一選擇報(bào)表樣式”中,選擇“經(jīng)營(yíng)式”,方向選擇“縱向”,單擊“下一步”按鈕。步驟9:在“一對(duì)多報(bào)表向?qū)А睂?duì)話(huà)框的“步驟6一完成“中,在”報(bào)表標(biāo)題“文本框中輸入”顧客訂單表“,單擊”完成“按鈕。步驟10:在“另存為”對(duì)話(huà)框中,輸入保存報(bào)表名P_ORDER,再單擊“保存”按鈕。步驟11:打開(kāi)該報(bào)表,在頁(yè)腳注中增加一個(gè)標(biāo)簽控件,輸入:“制表人:王愛(ài)學(xué)”,選中該標(biāo)簽,再選擇”格式”菜單下“對(duì)齊”子菜單中的“水平居中”命令。最后保存該報(bào)表。(2)步驟1:打開(kāi)考生文件夾下的TWO.PRG文件。步驟2:修改其中的命令語(yǔ)句錯(cuò)誤1:SELECT顧客號(hào),數(shù)量*單價(jià)應(yīng)付款;修改為:SELECT顧客號(hào),sum(數(shù)量*單價(jià))應(yīng)付款;錯(cuò)誤2:DOWHILEEOF()修改為:DOWHILE.NOT.EOF()錯(cuò)誤3:REPLACEALL應(yīng)付款=money修改為:REPLACE應(yīng)付款WITHmoney修改完成后運(yùn)行該程序。知識(shí)點(diǎn)解析:根據(jù)題目的要求在報(bào)表中逐步操作即可得到報(bào)表,修改SQL語(yǔ)句運(yùn)行查看結(jié)果檢查是否正確修改。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、在考生文件夾下創(chuàng)建一個(gè)頂層表單myform.scx,表單的標(biāo)題為“考試”,然后創(chuàng)建并在表單中添加一個(gè)菜單,菜單的名稱(chēng)為mymenu.mnx,菜單程序的名稱(chēng)為mymenu.mpr,如下圖所示。“統(tǒng)計(jì)”和“退出”菜單命令的訪問(wèn)鍵分別是“T”和“R”,功能都通過(guò)執(zhí)行“過(guò)程”完成?!敖y(tǒng)計(jì)”菜單命令的功能是以客戶(hù)為單位從customer表和orders表中求出訂單金額的和。統(tǒng)計(jì)結(jié)果有“客戶(hù)號(hào)”、“客戶(hù)名”和“合計(jì)”3項(xiàng)內(nèi)容,“合計(jì)”是指與某客戶(hù)所簽所有訂單金額的和。統(tǒng)計(jì)結(jié)果應(yīng)按“合計(jì)”降序排列,并存放在tabletwo表中。菜單命令“退出”的功能是關(guān)閉并釋放表單。最后運(yùn)行表單并依次執(zhí)行其中的“統(tǒng)計(jì)”和“退出”菜單命令。標(biāo)準(zhǔn)答案:步驟1:在命令窗口輸“Createformmyform”,新建表單。步驟2:將表單的ShowWindow屬性設(shè)置為“2一作為頂層表單”,如圖3.82所示。然后設(shè)置其Caption屬性值為“考試”。步驟3:雙擊表單空白處,編寫(xiě)表單的Init事件代碼。DOmymenu.mprWITHTHIS."myform"步驟4:新建菜單,輸入菜單項(xiàng)“統(tǒng)計(jì)(\步驟5:執(zhí)行“顯示”菜單下的“常規(guī)選項(xiàng)”命令,將此菜單設(shè)置為“頂層表單”。步驟6:分別在“統(tǒng)計(jì)”和“退出”菜單的“結(jié)果”列中選擇“過(guò)程”,并單擊其后的“創(chuàng)建”按鈕,寫(xiě)入如下SQL語(yǔ)句。*****“統(tǒng)計(jì)”菜單中的命令語(yǔ)句*****&&選擇查詢(xún)字段,通過(guò)AS短語(yǔ)指定顯示字段,sum()函數(shù)用于求和SELECTCustomer.客戶(hù)號(hào),Customer.客戶(hù)名,sum(orders.金額)AS合計(jì);&&指定字段來(lái)源FROMCHStomer,orders;&&設(shè)置查詢(xún)條件WHERECustomer.客戶(hù)號(hào)=Orders.客戶(hù)號(hào);&&GROUPBY子句用于按客戶(hù)號(hào)分組GROUPBYCustomer.客戶(hù)號(hào),&&查詢(xún)結(jié)果按合計(jì)的降序排列ORDERBY3DESC;&&將查詢(xún)結(jié)果存儲(chǔ)到tabletwo.dbf中INTOTABLEtabletwo.dbf********************************************“退出”菜單中的命令語(yǔ)句******Myform.Release**************************************步驟7:保存菜單名為mymenu,生成可執(zhí)行程序。運(yùn)行表單,查看結(jié)果。知識(shí)點(diǎn)解析:建立表單,修改其ShowWindow屬性為“2”,使其作為頂層表單。建立菜單,在菜單設(shè)計(jì)器中完成菜單項(xiàng)的建立,在“常規(guī)選項(xiàng)”對(duì)話(huà)框中將菜單設(shè)置為“頂層表單”,在“提示選項(xiàng)”對(duì)話(huà)框中為菜單項(xiàng)設(shè)置快捷鍵。國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第7套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)打開(kāi)表單one,如圖3.21所示,通過(guò)設(shè)置控件的相關(guān)屬性,使得表單運(yùn)行時(shí)的開(kāi)始焦點(diǎn)在“打開(kāi)”命令按鈕,并且接下來(lái)的焦點(diǎn)的移動(dòng)順序是“關(guān)閉”和“退出”。(2)打開(kāi)表單two,使用“布局”工具欄的“頂邊對(duì)齊”按鈕將表單中的3個(gè)命令按鈕控件的頂邊對(duì)齊。(3)使用SQL語(yǔ)句創(chuàng)建一個(gè)名為“分組情況表”的自由表,“分組情況表”有兩個(gè)字段:“組號(hào)”和“組名”,“組號(hào)”占兩個(gè)字符,“組名”占10個(gè)字符。請(qǐng)將該SQL語(yǔ)句存儲(chǔ)在three.prg中,否則不得分。(4)使用SQL語(yǔ)句插入一個(gè)記錄到“分組情況表”中,插入的內(nèi)容是,組號(hào):01,組名:通俗唱法。請(qǐng)將該SQL語(yǔ)句存儲(chǔ)在four.prg中,否則不得分。標(biāo)準(zhǔn)答案:【操作步驟】(1)①命令窗口執(zhí)行:MODIFYFORMone,打開(kāi)表單設(shè)計(jì)器修改表單。②選擇表單對(duì)象,修改控件對(duì)象屬性值,見(jiàn)表4-27。③單擊“常用”工具欄中的“運(yùn)行”按鈕查看結(jié)果,將表單文件保存到考生文件夾下。(2)①命令窗口執(zhí)行:MODIFYFORMtWO,打開(kāi)表單設(shè)計(jì)器修改表單。②右擊工具欄的空白區(qū)域,選擇【布局】快捷菜單命令,打開(kāi)“布局”工具欄(若表單設(shè)計(jì)器中未顯示該工具欄,則執(zhí)行該操作)。③同時(shí)選中表單中的3個(gè)按鈕,單擊“布局”工具欄中的“頂邊對(duì)齊”按鈕(第3個(gè)圖標(biāo)按鈕),保存表單修改。(3)①命令窗口執(zhí)行:MODIFYCOMMANDthree,打開(kāi)程序文件編輯器。輸入如下程序代碼:CREATETABLE分組情況袁(組號(hào)c(2),組名C(10))②在命令窗口執(zhí)行命令:DOthree,執(zhí)行程序文件§(4)①在命令窗口執(zhí)行命令:MODIFYCOMMANDfour,打開(kāi)程序文件編輯器,輸入如下程序代碼:INSERTINTO分組情況表VALUES("01",“通俗唱法”)②在命令窗口執(zhí)行命令:DOfour,執(zhí)行程序文件。知識(shí)點(diǎn)解析:暫無(wú)解析二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、在考生文件夾下,打開(kāi)招生數(shù)據(jù)庫(kù)sdb,完成如下簡(jiǎn)單應(yīng)用:(1)使用一對(duì)多表單向?qū)нx擇ksb表和kscib表生成一個(gè)名為two的表單。要求從父表ksb中選擇所有字段,從子表ksc}1)中選擇所有字段,使用“考生號(hào)”建立兩表之間的關(guān)系,樣式為陰影式;按鈕類(lèi)型為圖片按鈕;排序字段為考生號(hào)(來(lái)自ksb),升序;表單標(biāo)題為“考生數(shù)據(jù)輸入維護(hù)”。(2)在考生文件夾下打開(kāi)命令文件three.prg,該命令文件用來(lái)查詢(xún)所有成績(jī)都高于或等于平均分的學(xué)生的考生號(hào)和姓名。并將查詢(xún)結(jié)果存儲(chǔ)到表three中。注意,該命令文件在第3行、第6行、第9行有錯(cuò)誤,打開(kāi)該命令文件,直接在錯(cuò)誤處修改,不可改變SQL語(yǔ)句的結(jié)構(gòu)和短語(yǔ)的順序,不允許增加、刪除或合并行。標(biāo)準(zhǔn)答案:(1)【操作步驟】步驟1:命令窗口執(zhí)行:OPENDATABASEsdb,打開(kāi)SDB數(shù)據(jù)庫(kù)。步驟2:執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在“新建”對(duì)話(huà)框中選“表單”選項(xiàng),單擊“向?qū)А卑粹o,“向?qū)нx取”對(duì)話(huà)框中選“一對(duì)多表單向?qū)А表?xiàng),單擊“確定”,啟動(dòng)向?qū)А2襟E3:“步驟1-從父表選擇字段”的“數(shù)據(jù)庫(kù)和表”下選“kbs”表,將“可用字段”全部添加到“選定字段”中,單擊“下一步”。步驟4:“步驟2-從子表選擇字段”的“數(shù)據(jù)庫(kù)和表”下選“kscib”表,將“可用字段”全部添加到“選定字段”中,單擊“下一步”。步驟5:“步驟3-建立表之間的關(guān)系”中系統(tǒng)自動(dòng)建立兩個(gè)表的聯(lián)系,單擊“下一步”。步驟6:“步驟4-選擇表單樣式”的“樣式”下選“陰影式”,在“按鈕類(lèi)型”下“圖片按鈕”,單擊“下一步”。步驟7:“步驟5-排序次序”中雙擊“可用的字段或索引標(biāo)識(shí)”中的“考生號(hào)”字段到“選定字段”列表中,再選擇“升序”,單擊“下一步”。步驟8:“步驟6-完成”中的“請(qǐng)鍵入表單標(biāo)題”下方輸入“考生數(shù)據(jù)輸入維護(hù)”,單擊“完成”按鈕。步驟9:在“另存為”對(duì)話(huà)框的“保存表單為:”框中輸入表單文件名two,單擊“保存”按鈕。(2)步驟1:命令窗口執(zhí)行:MODIFYCOMMANDthree,打開(kāi)three.prg程序,命令中的命令代碼如下:*該命令文件用來(lái)查詢(xún)所有成績(jī)都高于或等于平均分的學(xué)生的考生號(hào)和姓名。并將查詢(xún)結(jié)果存儲(chǔ)到表THREE中。*該命令文件在第3行、第6行、第9行有錯(cuò)誤,打開(kāi)該命令文件。*直接在錯(cuò)誤處修改,不可改變SQL語(yǔ)句的結(jié)構(gòu)和短語(yǔ)的順序,不允許增加、刪除或合并行。SELECTAVG(成績(jī));FROMkscjb;INTOCURSORtemSELECT考生號(hào),姓名;FROMksb;WHERE考生號(hào)EXISTS;FROMkscjb;WHERE成績(jī)知識(shí)點(diǎn)解析:暫無(wú)解析三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、考生文件夾下存在數(shù)據(jù)庫(kù)“學(xué)籍”,其中包含course和score表,這兩個(gè)表存在一對(duì)多的聯(lián)系。對(duì)“學(xué)籍”數(shù)據(jù)庫(kù)建立文件名為forrn2的表單,表單標(biāo)題為“課程成績(jī)查看”,其中包含兩個(gè)表格控件。第一個(gè)表格控件用于顯示“課程”表的記錄,第二個(gè)表格控件用于顯示與“課程”表當(dāng)前記錄對(duì)應(yīng)的“成績(jī)”表中的記錄。表單中還包含一個(gè)標(biāo)題為“退出”的命令按鈕,要求單擊此按鈕退出表單,如圖3.16所示。標(biāo)準(zhǔn)答案:【操作步驟】步驟1:在命令窗口執(zhí)行命令:CREATEFORMform2,打開(kāi)表單設(shè)計(jì)器新建表單。從“表單控件”工具欄中依次向表單添加兩個(gè)表格控件和一個(gè)命令按鈕控件。步驟2:在“屬性”面板下拉框中選表單對(duì)象,在“全部”選項(xiàng)卡中修改對(duì)象屬性值;表單及控件屬性設(shè)置,見(jiàn)表4-23。步驟3:右擊表單選擇【數(shù)據(jù)環(huán)境】快捷菜單命令,繼續(xù)在表單數(shù)據(jù)環(huán)境中單擊右鍵選擇【添加】快捷菜單命令,在“添加表或視圖”對(duì)話(huà)框中雙擊course和score表,將表添加到表單的數(shù)據(jù)環(huán)境中。步驟4:右擊第一個(gè)表格(Gridl)選擇【生成器】快捷菜單命令,在“表格項(xiàng)”選項(xiàng)卡中,單擊“數(shù)據(jù)庫(kù)和表”下方的按鈕打開(kāi),在彈出的“打開(kāi)”對(duì)話(huà)框中選擇course表,將“可用字段”中的字段全部添加到“選定字段”中,單擊“確定”按鈕:以同樣的方法為第二個(gè)表格(Grid2)設(shè)置score表中的字段。步驟5:雙擊“退出”命令按鈕(Commandl),在Click事件中編寫(xiě)程序代碼:THISFORM.RELEASE。步驟6:?jiǎn)螕簟俺S谩惫ぞ邫谥械摹斑\(yùn)行”按鈕查看結(jié)果,將表單文件保存到考生文件夾下。知識(shí)點(diǎn)解析:暫無(wú)解析國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第8套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)建立一個(gè)“客戶(hù)”表,表結(jié)構(gòu)如下:客戶(hù)編號(hào)C(8)客戶(hù)名稱(chēng)C(8)聯(lián)系地址C(30)聯(lián)系電話(huà)C(11)電子郵件C(20)(2)建立一個(gè)“客戶(hù)”數(shù)據(jù)庫(kù),并將“客戶(hù)”表添加到該數(shù)據(jù)庫(kù)中。(3)將如下記錄插入到“客戶(hù)”表中。(4)利用報(bào)表向?qū)3梢粋€(gè)“客戶(hù)”(報(bào)表文件名)報(bào)表,報(bào)表的內(nèi)容包含客戶(hù)表的全部字段。報(bào)表的標(biāo)題為“客戶(hù)”,其他各項(xiàng)取默認(rèn)值。標(biāo)準(zhǔn)答案:(1)①在命令窗口執(zhí)行命令:CREATE客戶(hù),打開(kāi)表設(shè)計(jì)器新建表(注意:當(dāng)前沒(méi)有打開(kāi)的數(shù)據(jù)庫(kù))。②根據(jù)題意,在表設(shè)計(jì)器中逐行輸入每個(gè)字段的字段名,并設(shè)置字段類(lèi)型和寬度(注意:字母C表示為字符型數(shù)據(jù)),然后單擊“確定”按鈕,此時(shí)系統(tǒng)會(huì)彈出一個(gè)對(duì)話(huà)框詢(xún)問(wèn)“現(xiàn)在輸入數(shù)據(jù)記錄嗎?”,單擊“是”按鈕。(2)接上小題操作,在彈出的輸入表記錄界面中輸入題中所要求的記錄,輸入完畢后直接記錄輸入界而。(3)①在命令窗口執(zhí)行命令:MODIFYDATABASE客戶(hù),新建數(shù)據(jù)庫(kù)并打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器。②在數(shù)據(jù)庫(kù)設(shè)計(jì)器中右擊鼠標(biāo),選擇【添加表】快捷菜單命令,在彈出的“打開(kāi)”對(duì)話(huà)框中雙擊“客戶(hù)”表,將表添加到數(shù)據(jù)庫(kù)中。(4)①執(zhí)行【文件】→【新建】菜單命令,或單擊“常用”工具欄的“新建”按鈕,在彈出的“新建”對(duì)話(huà)框中選中“報(bào)表”選項(xiàng),然后單擊“向?qū)А眻D標(biāo)按鈕,系統(tǒng)彈出“向?qū)нx取”對(duì)話(huà)框,選中“報(bào)表向?qū)А表?xiàng),單擊“確定”按鈕,啟動(dòng)報(bào)表向?qū)А"谠趫?bào)表向?qū)У摹安襟E1-字段選取”界面的“數(shù)據(jù)庫(kù)和表”下選中“客戶(hù)”表,將“可用字段"中全部字段添加到“選定字段”中,直接單擊“完成”按鈕進(jìn)入向?qū)ё詈笠粋€(gè)界面。③在報(bào)表向?qū)У摹安襟E6-完成”界面的“報(bào)表標(biāo)題”框中輸入“客戶(hù)”,單擊“完成”按鈕,在“另存為”對(duì)話(huà)框的“保存報(bào)表為:”框中輸入報(bào)表文件名“客戶(hù)”,單擊“保存”按鈕。知識(shí)點(diǎn)解析:本題考查了表的基本操作;數(shù)據(jù)庫(kù)的基本操作;報(bào)表向?qū)У氖褂?。建立自由表可以在表設(shè)計(jì)器中進(jìn)行,注意建立自由表前要先關(guān)閉所有打開(kāi)的數(shù)據(jù)庫(kù),否則所建立的數(shù)據(jù)表可能是數(shù)據(jù)庫(kù)表;將數(shù)據(jù)表添加到數(shù)據(jù)庫(kù)中可以在數(shù)據(jù)庫(kù)設(shè)計(jì)器中操作;報(bào)表向?qū)Р僮鞅容^簡(jiǎn)單,啟動(dòng)報(bào)表向?qū)Ш螅诟飨驅(qū)崾窘缑嫱瓿上鄳?yīng)的操作即可。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、(1)建立一個(gè)文件名和表單名均為two的表單,然后為表單two建立一個(gè)名為quit的新方法(單擊選擇表單后,從“表單”菜單中選擇“新建方法程序”命令),并在該方法中寫(xiě)一條語(yǔ)句Thisform.release;最后向表單中添加一個(gè)命令按鈕(Command1),并在該命令按鈕的Click事件中寫(xiě)一條調(diào)用新方法quit的訊句。(2)使用SQL語(yǔ)句計(jì)算每個(gè)歌手的最高分、最低分和平均分,并將結(jié)果存儲(chǔ)到result.dbf表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4個(gè)字段),要求結(jié)果按“平均分”降序。注意:按“歌手姓名”分組;每個(gè)歌手的最高分、最低分和平均分由評(píng)分表中的“分?jǐn)?shù)”字段計(jì)算得出。標(biāo)準(zhǔn)答案:(1)步驟1:命令窗口執(zhí)行:CREATEFORMtwo,打開(kāi)表單設(shè)計(jì)器新建表單。步驟2:執(zhí)行【表單】→【新建方法程序】菜單命令,在“新建方法程序”對(duì)話(huà)框的“名稱(chēng)”文本框中輸入“quit”,單擊“添加”按鈕新增方法,然后關(guān)閉對(duì)話(huà)框。步驟3:在“屬性”窗口中雙擊quit方法,打開(kāi)用戶(hù)自定義過(guò)程代碼框輸入:THISFORM.RELEASE。步驟4:通過(guò)“表單控件”工具欄向表單添加一個(gè)命令按鈕(Command1),雙擊命令按鈕,編寫(xiě)該按鈕的Click事件代碼:THISFORM.QUIT。步驟5:?jiǎn)螕簟俺S谩惫ぞ邫谥械摹斑\(yùn)行”按鈕查看結(jié)果,將表單文件保存到考生文件夾下。(2)在命令窗口執(zhí)行如下SQL命令語(yǔ)句執(zhí)行查詢(xún):1SELECT。歌手表.歌手姓名,MAX(評(píng)分表.分?jǐn)?shù))AS最高分,;2MIN(評(píng)分表.分?jǐn)?shù))AS最低分,AVG(評(píng)分表.分?jǐn)?shù))AS平均分;3FROM大獎(jiǎng)賽!歌手表INNERJOIN大獎(jiǎng)賽!評(píng)分表;4ON歌手表.歌手編號(hào)=評(píng)分表.歌手編號(hào);5GROUPBY歌手表.歌手姓名;6ORDERBY4DESC;7TNTOTARLEresult(注意:以上SQL查詢(xún)語(yǔ)句是通過(guò)查詢(xún)?cè)O(shè)計(jì)器生成,大家也可以直接在查詢(xún)?cè)O(shè)計(jì)器中完成查詢(xún)。)知識(shí)點(diǎn)解析:(1)本題考查的是表單方法的創(chuàng)建。在VisualFoxPro中,用戶(hù)首先應(yīng)打開(kāi)“新建方法程序”對(duì)話(huà)框定義新方法名;然后在“屬性”面板中定義找到該方法并編寫(xiě)該方法的功能代碼;方法建立完畢后,用戶(hù)可以像調(diào)用表單中其他方法一樣調(diào)用新建的方法。(2)本題主要考查了SQL分組與計(jì)算查詢(xún)。本題在輸出字段中除“歌手姓名”字段是表中原有的字段外,最高分、最低分和平均分都需要根據(jù)“分?jǐn)?shù)”字段生成,分別使用計(jì)算函數(shù)MAX()、MIN()和AVG()。由于是求每個(gè)歌手的最高分、最低分和平均分,可以根據(jù)“歌手姓名”字段進(jìn)行分組計(jì)算。也可以借助查詢(xún)?cè)O(shè)計(jì)器生成本題的SQL語(yǔ)句。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、打開(kāi)表單文件sapp,并完成如下操作(不得有多余操作):①將“課程”表添加到表單的數(shù)據(jù)環(huán)境中。②使列表框List1中的數(shù)據(jù)項(xiàng)為“課程”表中的課程名(課程.課程名)。③單擊列表框中的數(shù)據(jù)項(xiàng)時(shí),統(tǒng)計(jì)選修了所選課程的學(xué)生人數(shù)(從“考試成績(jī)”表),并將結(jié)果存儲(chǔ)在以課程名命名的表中,表中只有一個(gè)字段“人數(shù)”。④添加一個(gè)命令按鈕Command1,單擊該按鈕時(shí)關(guān)閉表單。說(shuō)明:完成該程序后必須運(yùn)行,并且分別統(tǒng)計(jì)選修了“數(shù)據(jù)庫(kù)”和“操作系統(tǒng)”課程的學(xué)生人數(shù)。標(biāo)準(zhǔn)答案:步驟1:命令窗口執(zhí)行:OPENDATABASE學(xué)生管理,打開(kāi)“學(xué)生管理”數(shù)據(jù)庫(kù)環(huán)境。步驟2:命令窗口執(zhí)行:MODIFYFORMsapp,修改sapp表單。右擊表單選擇【數(shù)據(jù)環(huán)境】,在表單數(shù)據(jù)環(huán)境中單擊右鍵選擇【添加】,在“添加表或視圖”對(duì)話(huà)框中雙擊“課程”,將表添加到數(shù)據(jù)環(huán)境中。步驟3:修改列表框(List1)的“RowSourceType”屬性值為:6-字段;再修改“RowSource”屬性值為:課程.課程名。步驟4:列表框(List1)Click事件代碼如下:*****列表框(List1)的Click事件代碼*****aa=課程.課程名SELECTCOUNT(*)AS人數(shù)FROM考試成績(jī);WHERE考試成績(jī).課程編號(hào)=課程.課程編號(hào);INTOTABLE&aa步驟5:通過(guò)“表單控件”工具欄向表單添加一個(gè)命令按鈕,編寫(xiě)按鈕的Click事件代碼:THISFORM.RELEASE。步驟6:?jiǎn)螕簟俺S谩惫ぞ邫谥械摹斑\(yùn)行”按鈕查看結(jié)果,并分別單擊“數(shù)據(jù)庫(kù)”和“操作系統(tǒng)”,生成表文件。知識(shí)點(diǎn)解析:本題考查了表單及控件的常用屬性和方法的設(shè)置;SQL簡(jiǎn)單的計(jì)算查詢(xún)。本題關(guān)鍵是怎樣獲取列表框所選條目的值。由于已經(jīng)將“課程”表添加到數(shù)據(jù)環(huán)境中,當(dāng)表單運(yùn)行時(shí),“課程”被打開(kāi),其所在工作區(qū)即成為當(dāng)前工作區(qū),又因?yàn)榱斜砜蛑袛?shù)據(jù)與“課程”表的“課程名”字段綁定,所以列表框中所選條目的值,等于“課程”表當(dāng)前記錄的“課程名”的值。再利用SQL計(jì)算查詢(xún),在“考試成績(jī)”表中查找并統(tǒng)計(jì)列表框中被選定條目(即課程名)的“選課人數(shù)”,利用COUNT()計(jì)數(shù)函數(shù)可以統(tǒng)計(jì)“人數(shù)”。進(jìn)行SQL語(yǔ)句設(shè)計(jì)時(shí),因?yàn)椤翱荚嚦煽?jī)”表中沒(méi)有“課程名”字段,但題目給出的篩選條件是根據(jù)“課程名”進(jìn)行統(tǒng)計(jì)選修課程的學(xué)生人數(shù),所以可以將查找條件設(shè)置為“考試成績(jī)”表的“課程號(hào)”與“課程”表當(dāng)前記錄(即列表框中被選課程名對(duì)應(yīng)的記錄)的“課程號(hào)”相等為條件,進(jìn)行查詢(xún)統(tǒng)計(jì)的操作。國(guó)家二級(jí)VF機(jī)試(操作題)模擬試卷第9套一、基本操作題(本題共1題,每題1.0分,共1分。)1、(1)打開(kāi)“訂貨管理”數(shù)據(jù)庫(kù),并將表order.detail添加到該數(shù)據(jù)庫(kù)中。(2)為表order_detail的“單價(jià)”字段定義默認(rèn)值為NULL。(3)為表order_detail的“單價(jià)”字段定義約束規(guī)則:?jiǎn)蝺r(jià)>0,違背規(guī)則時(shí)的提示信息是:“單價(jià)必須大于零”。(4)關(guān)閉“訂貨管理”數(shù)據(jù)庫(kù),然后建立自由表customer,表結(jié)構(gòu)如下:客戶(hù)號(hào)字符型(6)客戶(hù)名字符型(16)地址字符型(20)電話(huà)字符型

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論