點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)VFP考試練習(xí)及答案解析匯總
一、基本操作題(共四小題,第1和2題是7分、第3和4是8分)
在考生文件夾下有一表單文件formone.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ù)的操作。
本題主要考核點(diǎn):文本框?qū)傩缘脑O(shè)置、表單屬性的設(shè)置、命令按鈕屬性的設(shè)置、事件代碼的編寫(xiě)。
解題思路:
1、打開(kāi)表單formone,選中標(biāo)簽和命令按鈕,選擇"格式"菜單下"對(duì)齊"菜單下的"頂邊對(duì)齊"。
2、將文本框的Value屬性值設(shè)置為0。
3、將表單的Caption屬性值設(shè)置為"基本操作",命令按鈕的Caption屬性值設(shè)置為"確定"。
4、設(shè)置文本框的InteractiveChange事件代碼:
if thisform.Text1.value<0
thisform.command1.enabled=0
endif
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1.擴(kuò)展Visual FoxPro基類(lèi)Form,創(chuàng)建一個(gè)名為MyForm的自定義表單類(lèi)。自定義表單類(lèi)保存在名為myclasslib的類(lèi)庫(kù)中。自定義表單類(lèi)MyForm需滿(mǎn)足以下要求:
(1)其AutoCenter屬性的默認(rèn)值為.T.。
(2)其Closable屬性的默認(rèn)值為.F.。
(3)當(dāng)基于該自定義表單類(lèi)創(chuàng)建表單時(shí),自動(dòng)包含一個(gè)命令按鈕。該命令按鈕的標(biāo)題為"關(guān)閉",當(dāng)單擊該命令按鈕時(shí),將關(guān)閉其所在的表單。
2.利用查詢(xún)?cè)O(shè)計(jì)器創(chuàng)建查詢(xún),從orders、orderitems和goods表中查詢(xún)2007年簽訂的所有訂單的信息。查詢(xún)結(jié)果依次包含訂單號(hào)、客戶(hù)號(hào)、簽訂日期、總金額等四項(xiàng)內(nèi)容,其中總金額為該訂單所簽所有商品的金額(單價(jià)*數(shù)量)之和。各記錄按總金額降序排序,總金額相同按訂單號(hào)升序排序。查詢(xún)?nèi)ハ驗(yàn)楸韙ableone。最后將查詢(xún)保存在queryone.qpr文件中,并運(yùn)行該查詢(xún)。
本題主要考核點(diǎn):新建自定義表單類(lèi)、利用查詢(xún)?cè)O(shè)計(jì)器建立查詢(xún)。
解題思路:
第1題:建立類(lèi)可以使用"文件"菜單完成,選擇文件--新建--類(lèi)--新建文件,在彈出的"新建類(lèi)"對(duì)話(huà)框中:在"類(lèi)名"右邊的文本框中輸入:MyForm,在"派生于"右邊的列表框中選擇Form,在"存儲(chǔ)于"右邊的瀏覽中選擇考生文件夾,再輸入文件名myclasslib,單擊"確定"按鈕,打開(kāi)"類(lèi)設(shè)計(jì)器"窗口,進(jìn)入類(lèi)設(shè)計(jì)器環(huán)境。在屬性窗口中,將表單的AutoCenter屬性設(shè)置為.T.,Closable屬性設(shè)置為.F.。在窗體上添加一個(gè)命令按鈕,Caption屬性為"關(guān)閉",設(shè)置"關(guān)閉"按鈕的Click事件代碼:thisform.release。
第2題:建立查詢(xún)可以使用"文件"菜單完成,選擇文件--新建--查詢(xún)--新建文件,將orders、orderitems和goods表添加到查詢(xún)中,從字段選項(xiàng)卡中依次選擇"Orders.訂單號(hào)"、"Orders.客戶(hù)號(hào)"、"Orders.簽訂日期",在"函數(shù)和表達(dá)式"中輸入"SUM(Goods.單價(jià)*Orderitems.數(shù)量)AS 總金額",并添加到選定字段中;切換到"篩選"選項(xiàng)卡,在表達(dá)式中輸入:"year(Orders.簽訂日期)","條件"選擇"=","實(shí)例"中輸入:2007;切換到"排序依據(jù)"選項(xiàng)卡并在其中選擇字段"SUM(Goods.單價(jià)*Orderitems.數(shù)量)AS 總金額",排序選項(xiàng)為"降序",再選擇"Orders.訂單號(hào)",排序選項(xiàng)為"升序";切換到"分組依據(jù)"選項(xiàng)卡并在其中選擇字段"Orders.訂單號(hào)";單擊查詢(xún)菜單下的"查詢(xún)?nèi)ハ?,選擇表,在"表名"右邊的對(duì)話(huà)框中輸入表名tableone,最后保存并運(yùn)行該查詢(xún)。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下創(chuàng)建一個(gè)下拉式菜單mymenu.mnx,并生成菜單程序mymenu.mpr。運(yùn)行該菜單程序時(shí)會(huì)在當(dāng)前vfp系統(tǒng)菜單的末尾追加一個(gè)"考試"子菜單,如下圖所示。
菜單命令"統(tǒng)計(jì)"和"返回"的功能都通過(guò)執(zhí)行過(guò)程完成。
菜單命令"統(tǒng)計(jì)"的功能是統(tǒng)計(jì)2007年有關(guān)客戶(hù)簽訂的訂單數(shù)。統(tǒng)計(jì)結(jié)果依次包含"客戶(hù)名"和"訂單數(shù)"兩個(gè)字段,其中客戶(hù)名即為客戶(hù)的姓名(在customers表中)。各記錄按訂單數(shù)降序排序、訂單數(shù)相同按客戶(hù)名升序排序,統(tǒng)計(jì)結(jié)果存放在tabletwo表中。
菜單命令"返回"的功能是恢復(fù)標(biāo)準(zhǔn)的系統(tǒng)菜單。
菜單程序生成后,運(yùn)行菜單程序并依次執(zhí)行"統(tǒng)計(jì)"和"返回"菜單命令。
本題的主要考核點(diǎn):創(chuàng)建菜單。
解題思路:
1、建立菜單可以使用"文件"菜單完成,選擇文件--新建--菜單--新建文件打開(kāi)新建菜單窗口,選擇"菜單"按鈕,打開(kāi)菜單設(shè)計(jì)器。打開(kāi)"顯示"菜單下的"常規(guī)選項(xiàng)"對(duì)話(huà)框,在"位置"處選擇追加,則新建立的子菜單會(huì)在當(dāng)前vfp系統(tǒng)菜單后顯示。
2、在菜單名稱(chēng)中填入"考試",結(jié)果為子菜單,單擊創(chuàng)建;在子菜單的菜單名稱(chēng)中輸入"統(tǒng)計(jì)",結(jié)果為過(guò)程。在過(guò)程中輸入下列命令:
SELECT Customers.姓名 AS 客戶(hù)名,count(Orders.訂單號(hào))as 訂單數(shù);
FROM customers INNER JOIN orders ONCustomers.客戶(hù)號(hào)=Orders.客戶(hù)號(hào);
WHERE year(Orders.簽訂日期)=2007 GROUP BYCustomers.姓名;
ORDER BY 2 DESC,Customers.姓名 INTO TABLEtabletwo
在菜單名稱(chēng)中填入"返回",結(jié)果為過(guò)程,在過(guò)程中輸入此命令:SETSYSMENU TO DEFAULT。
3、最后保存菜單mymenu.mnx,并生成菜單程序mymenu.mpr,且運(yùn)行菜單程序并依次執(zhí)行"統(tǒng)計(jì)"和"返回"菜單命令。
相關(guān)推薦:
各地2015年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |