VBA理論練習(xí)題_第1頁
VBA理論練習(xí)題_第2頁
VBA理論練習(xí)題_第3頁
VBA理論練習(xí)題_第4頁
VBA理論練習(xí)題_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一部分(模塊與VBA編程基礎(chǔ))一、選擇題(117):1VBA中定義符號常量可以用關(guān)鍵字 A)Const B)Dim C)Public D)Static2Sub過程和Function過程最根本的區(qū)別是 A)Sub過程的過程名不能返回值,而Function過程能通過過程名返回值 B)Sub過程可以使用Call語句或直接使用過程名,而Function過程不能 C)兩種過程參數(shù)的傳遞方式不同 D)Function過程可以有參數(shù),Sub過程不能有參數(shù)3定義了二維數(shù)組A(2 to 5,5),則該數(shù)組的元素個數(shù)為 A)25 B)36 C)20 D)244已知程序段: s=0 For i=1 To 10 s

2、tep 2 s=s+1 i=i*2 Next i 當(dāng)循環(huán)結(jié)束后,變量i的值為a,變量s的值為b。 a A)10 B)11 C)22 D)16 b A)3 B)4 C)5 D)65以下內(nèi)容中不屬VBA提供的數(shù)據(jù)驗證函數(shù)是 A)IsText B)IsDate C)IsNumeric D)IsNull6已定義好有參函數(shù)f(m),其中形參m是整型量。下面調(diào)用該函數(shù),傳遞實參為5將返回的函數(shù)值賦給變量t以下正確的是 A)t=f(m) B)t=Call(m) C)t=f(5) D)t=Callf(5)7在有參函數(shù)設(shè)計時,要想實現(xiàn)某個參數(shù)的“雙向”傳遞,就應(yīng)當(dāng)說明該形參為“傳址”調(diào)用形式。其設(shè)置選項是 A)

3、ByVal B)ByRef C)Optional D)ParamArray8在VBA代碼調(diào)試過程中,能夠顯示出所有在當(dāng)前過程中變量聲明及變量值信息的是 A)快速監(jiān)視窗口 B)監(jiān)視窗口 C)立即窗口 D)本地窗口9VBA的邏輯值進(jìn)行算術(shù)運(yùn)算時,True值被當(dāng)作 A)0 B)-1 C)1 D)任意值10VBA中不能進(jìn)行錯誤處理的語句結(jié)構(gòu)是 A)On Error Then標(biāo)號 B)On Error Goto 標(biāo)號 C)On Error Resume Next D)On Error Go 10011VBA中用實際參數(shù)a和b調(diào)用有參過程Area(m,n)的正確形式是 A)Aream,n B)Area a

4、,b C)Call Area(m,n) D)Call Area a,b12給定日期DD,可以計算該日期當(dāng)月最大天數(shù)的正確表達(dá)式是 A)Day(DD) B)Day(DateSerial(Year(DD),Month(DD),Day(DD) C)Day(DateSerial(Year(DD),Month(DD),0)D)Day(DateSerial(Year(DD),Month(DD)+1,0)13下列關(guān)于宏和模塊的敘述中,正確的是 A)模塊是能夠被程序調(diào)用的函數(shù) B)通過定義宏可以選擇或更新數(shù)據(jù) C)宏或模塊都不能是窗體或報表上的事件代碼 D)宏可以是獨立的數(shù)據(jù)庫對象,可以提供獨立的操作動作14

5、有如下VBA代碼,運(yùn)行結(jié)束后,變量n的值是n=0For i=1 TO 3 Forj=-4 To -1 n=n+1 NextjNext i A)0 B)3 C)4 D)1215假設(shè)有如下Sub過程: Sub sfun(x As Single,Y As Single) t=x x=t/y y=t mod y mod求余計算 例7 mod 4 =3 End Sub在窗體中添加一個命令按鈕(名為Comnndl),編寫如下事件過程 Private Sub Commandl_Click() Dim a As SinSle Dim b As SinSle a=5:b=4 sfun(a,b) 原書有錯,改為:

6、sfun a,b或call sfun(a,b) MsgBox a & chr(10) + chr(13) & b chr(數(shù)值)的功能返回數(shù)值對應(yīng)的字母End Sub chr(10)=返回1個換行符?chr(13)=返回一個空格符號 注意:a x ; b y 是按地址傳遞的,因此不能寫成sfun 5,4 chr與Asc互逆 例asc(a)=97 ; chr(97)=a asc(chr(97)=97打開窗體運(yùn)行后,單擊命令按鈕,消息框中有兩行輸出,內(nèi)容分別為 A)1和1 B)1.25和l C)1.25和4 D)5和416有如下VBA程序段:sum=0n=0For i=1 TO 5

7、 x=n/i n=n+1 slim=sumNext i以上For循環(huán)計算sum,完成的表達(dá)式是 A)1+1/1+2/3+3/4+4/5 B)1+1/2+1/3+1/4+1/5 C)1/2+2/3+3/4+4/5 D)1/2+1/3+1/4+1/517在窗體中有一個命令按鈕runl6,對應(yīng)的事件代碼如下: Private Sub runl6_Enter() Dim num As Integer Dim a As Integer Dim b As Integer Dim i As Integer For i=1 To 10 num=InputBox("請輸入數(shù)據(jù):","

8、;輸入",1) if Int(num/2)=num/2 Then Int取整函數(shù) 例int(3.5)=3 a=a+1 Else b=b+1 End lf Next I MsgBox("運(yùn)行結(jié)果:a="& Str(a) & ",b=" & Str(b)End Sub str(123)=”123”將123轉(zhuǎn)換成字符串 與val互逆。例:Val(str(123)=123 運(yùn)行以上事件所完成的功能是 A)對輸入的10個數(shù)據(jù)求累加和 B)對輸入的10個數(shù)據(jù)求各自的余數(shù),然后再進(jìn)行累加 c)對輸入的10個數(shù)據(jù)求分別統(tǒng)計有幾個是整數(shù),

9、有幾個是非整數(shù) D)對輸人的10個數(shù)據(jù)求分別統(tǒng)計有幾個是奇數(shù),有幾個是偶數(shù)二、填空題(125)1VBA的全稱是 Visual Basic for Application。2模塊包含了一個聲明區(qū)域和一個或多個子過程(以Sub開頭)或函數(shù)過程(以Function開頭)。3. 說明變量最常用的方法,是使用Dim As 結(jié)構(gòu).4VBA中變量作用域分為3個層次,這3個層次是局部變量、模塊變量和全局變量。5在模塊的說明區(qū)域中,用private關(guān)鍵字說明的變量是模塊范圍的變量;而用public或Global鍵字說明的變量是屬于全局范圍的變量。6要在程序或函數(shù)的實例間保留局部變量的值,可以用Static關(guān)鍵字

10、代替Dim。7用戶定義的數(shù)據(jù)類型可以用TypeType End關(guān)鍵字間說明。8VBA的3種流程控制結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。9VBA中使用的3種選擇函數(shù)是IIf、Switch和Choose。10VBA提供了多個用于數(shù)據(jù)驗證的函數(shù)。其中IsDate函數(shù)用于合法日期驗證;IsNumeric函數(shù)用于判定輸入數(shù)據(jù)是否為數(shù)值。11VBA的有參過程定義,形參用ByVal說明,表明該形參為傳值調(diào)用;形參用ByRef說明,表明該形參為傳址調(diào)用.12VBA的錯誤處理主要使用On Error語句結(jié)構(gòu)。13On Error Goto 0語句的含義是取消錯誤處理。14On Error Resume Next

11、語句的含義是忽略錯誤并執(zhí)行下一條語句。15VBA語言中,函數(shù)lnputBox的功能是輸入數(shù)據(jù)對話框;Msgbos函數(shù)的功能是顯示消息信息。16在VBA中雙精度的類型標(biāo)識是Double。17在VBA中,分支結(jié)構(gòu)根據(jù)條件(或條件表達(dá)式)選擇執(zhí)行不同的程序語句。18VBA的邏輯值在表達(dá)式當(dāng)中進(jìn)行算術(shù)運(yùn)算時,True值被當(dāng)作-1、False值被當(dāng)作0來處理。19VBA編程中,要得到15,75上的隨機(jī)整數(shù)可以用表達(dá)式Int(15+61*Rnd).20設(shè)有如下代碼: X=1Do x=x+2Loop Until x=7 (或x>=7 或 x>6)運(yùn)行程序,要求循環(huán)體執(zhí)行3次后結(jié)束循環(huán),請在空白處

12、填入適當(dāng)?shù)恼Z句21設(shè)有以下窗體單擊事件過程: Private Sub Form_Click() a=1 for i=1 to 3 Select Case i Case 1,3 a=a+1 Case 2,4 a=a+2 end Select Next i MsgBox a End Sub打開窗體運(yùn)行后,單擊窗體,則消息框的輸出內(nèi)容是5。22在窗體中添加一個命令按鈕(名為Commandl)和一個文本框(名為Textl),編寫事件代碼如下Private Sub Commandl Click() Dim a As Integer,y As Integer x=5:y=7:z=0 Me!Textl=&q

13、uot; " Call Pl(x,x,z) Me!Textl=zEnd SubPrivate p1(a As Integer,b As Integer,c As Integer) c=a+bEnd Sub打開窗體后,單擊命令按鈕,文本框中顯示的內(nèi)容是1223在下面的VBA程序段運(yùn)行時,內(nèi)層循環(huán)的循環(huán)次數(shù)是9For m=0 To 7 Step 3 For n = m-1 To m+1 Next nNext m24在窗體中使用一個文本框(名為numl)接受輸入值,有一個命令按鈕run,單擊事件代碼如下 Private Subrun_Click() If Me!num1>=60 Th

14、en Result=及格Else If Me!numl>70 Then Result=通過Else If Me!numl>85 Then Result=合格End Sub打開窗體后,若通過文本框輸入的值為85,單擊命令按鈕,輸出結(jié)果是及格。25在窗體中有一個名為Command25的命令按鈕,Click事件代碼如下。該事件的完整功能是:接受從鍵盤輸入的10個大于0的整數(shù),找出其中的最大值和對應(yīng)的輸入位置。請依據(jù)上述功能要求將程序補(bǔ)充完整。 Private Sub Command25_Click() Max=0 max_n=0 For i=l To 10 num=Val(InputBo

15、x(請輸入第&i&個大于0的整數(shù):) If num>max Then max=nummax_n=i End If Next i MsgBox("最大值為第" & max_n & "個輸入的" & max) End Sub 第二部分(數(shù)據(jù)庫編程)一、選擇題(19)1以下內(nèi)容中不屬VBA提供的數(shù)據(jù)驗證函數(shù)是 A)IsNull B)IsDate C)lsNumeric D)IsText2VBA"定時”操作中,需要設(shè)置窗體的“計時器間隔(TimerInterval)”屬性值。其計量單位是 A)微秒 B)毫秒

16、 C)秒 D)分鐘3能夠?qū)崿F(xiàn)從指定記錄集里檢索特定字段值的函數(shù)是 A)Nz B)DSum C)Rnd D)DLookup4DAO模型層次中處在最頂層的對象是 A)DBEngine B)Workspace C)Database D)RecordSet5ADO對象模型中可以打開RecordSet對象的是 A)只能是Connection對象 B)只能是Command對象 C)可以是Connection對象和Command對象 D)不存在6InputBox函數(shù)返回值的類型為 A)數(shù)值 B)字符串(錯誤) 注意:正確答案為D)C)變體 D)數(shù)值或字符串(視輸入的數(shù)據(jù)而定)InputBox$ 返回字符串

17、InputBox 返回數(shù)值或字符串7ADO的含義是 A)開放數(shù)據(jù)庫互連應(yīng)用編程接12 B)數(shù)據(jù)庫訪問對象 C)動態(tài)鏈接庫 D)Active數(shù)據(jù)對象8執(zhí)行下面的語句后,所彈出的信息框外觀樣式為 MsgBoxAAAA,vbOKCancel+vbQuestion,BBBB 注:vbQuestion等價于32MsgBox("AAAA", 1 + 64, " BBBB")MsgBox("AAAA", 1 + 32, " BBBB")MsgBox("BBBB", 1 + 32, " AAAA&qu

18、ot;)MsgBox("BBBB", 1 + 64, " AAAA")ACBD 9在MsgBox(prompt,buttons,title,hetpfite,context)函數(shù)調(diào)用形式中必須提供的參數(shù)是 A)prompt B)buttons C)title D)context二、填空題(118)(p8-p13):1VBA提供了多個用于數(shù)據(jù)驗證的函數(shù)。其中IsDate函數(shù)用于合法日期驗證;IsNumeric函數(shù)用于判定輸入數(shù)據(jù)是否為數(shù)值。2. VBA語言中,函數(shù)InputBox的功能是輸入數(shù)據(jù)對話框;Msgbox函數(shù)的功能是顯示消息信息。3VBA的“定時

19、”操作功能是通過窗體的定時(Timer)事件過程完成。4VBA中打開窗體的命令語句是DoCmd.OpenForm。5Access的窗體或報表事件可以有兩種方法來響應(yīng):宏對象和事件過程。6窗體的計時器觸發(fā)事件激發(fā)的時間間隔是通過計時器間隔(或interval)屬性來設(shè)置。7窗體中有兩個命令按鈕:“顯示”(控件名為cmdDisplay)和“測試”(控件名為cmdTest)。當(dāng)單擊“測試”按鈕時,執(zhí)行的事件功能是:首先彈出消息框,若點擊其中的“確定”按鈕,則隱藏窗體上的“顯示”按鈕;否則直接返回到窗體中。 Private Sub cmdtest_Click() Answer=MsgBox (隱藏按鈕

20、?,vbOKCancel十vbQuestion,Msg) If Answer=vbOK Then Me!cmddisplay.Visible=False End If End Sub注意:vbOKCancel等價于1 vbQuestion等價于328設(shè)計一個計時的Access應(yīng)用程序。該程序界面如圖所示,由一個文本框(名為Textl)、一個標(biāo)簽及兩個命令按鈕(一個標(biāo)題為Start,命名為Commandl;另一個標(biāo)題為Stop,命名為Command2)組成。程序功能為:打開窗體運(yùn)行后,單擊“Start'按鈕,則開始計時,文本框中顯示秒數(shù);單擊“Stop”按鈕,則計時停止;雙擊“Stop”

21、按鈕,則退出。請?zhí)羁昭a(bǔ)充完整。 Dim i as integer Private Sub Commandl Click( ) i=0 Me.TimerInterval=1000 End Sub Private Sub Command2_Click( ) Me.TimerInterval=0End Sub Private Sub Command2_DblClick(Cancel As Integer) DoCmd.Close End Sub Private Sub Form_Load( ) Me.TimerInterval=0 Me!Text1=0 End Sub Private Sub For

22、m_Timer( ) i=i+1 Me!Textl=i End Sub9要實現(xiàn)以下圖示效果的消息框顯示,VBA代碼語句為MsgBox 數(shù)據(jù)處理結(jié)束!,vbinformation,消息10VBA中主要提供了三種數(shù)據(jù)庫訪問接口:ODBC API、DAO、ADO。11DAO對象模型采用分層結(jié)構(gòu),其中位于最頂層的對象是DBEngine。12Access的VBA編程操作本地數(shù)據(jù)庫時,提供一種DAO數(shù)據(jù)庫打開的快捷方式是CurrentDB()也提供一種ADO的默認(rèn)連接對象是CurrentProject.Connection13DAO模型中,主要的控制對象有DBEngine、Workspace 、Datab

23、ase、 RecordSet Field和Error。14ADO對象模型主要有Connection、 Command 、RecordSet、 Field,而相應(yīng)QueryDef和Error5個對象。15已知一個為“學(xué)生”的Access數(shù)據(jù)庫,庫中的表“stud"存儲學(xué)生的基本情況信息,包括學(xué)號、姓名、性別和籍貫。下面程序的功能是:通過窗體向stud表中添加學(xué)生記錄。對應(yīng)“學(xué)號”、“姓名”、“性別”和“籍貫”的4個文本框的名稱分別為:tNo、tName、tSex和tRes。當(dāng)點擊窗體上的“增加”命令按鈕(名稱為Commandl)時,首先判斷學(xué)號是否重復(fù),如果不重復(fù)則向“stud&quo

24、t;表中添加學(xué)生記錄;如果學(xué)號重復(fù),則給出提示信息。當(dāng)點擊窗體上的“退出”命令按鈕(名稱為Command2)時,關(guān)閉當(dāng)前窗體。 依據(jù)要求功能,請將以下程序補(bǔ)充完整。Private Sub Form_Load() 打開窗口時,連接Access數(shù)據(jù)庫 Set ADOcn=CurrentProject.ConnentionEnd SubDim ADOcn As New ADODB.ConnectionPrivate Sub Commandl Click() 增加學(xué)生記錄 Dim strSQL As String Dim ADOrs As New ADO.RecordsetSet ADOrs.Acti

25、veConnection=ADOcnADOrs.OpenSelect學(xué)號From Stud Where學(xué)號=+tNo+If Not ADOrs.EOF Then MsgBox你輸入的學(xué)號已存在,不能新增加!”Else StrSQL=Insert Into stud(學(xué)號,姓名,性別,籍貫) StrSQL=strSQL+Values(,+tNo +,+tName+,+tSex+tRes+)ADOrs.Execute StrSQL MsgBox 添加成功,請繼續(xù)!End IfADOrs.CloseSet ADOrs=NothingEnd SubPrivate Sub Command2_Click(

26、 ) Docmd.CloseEnd Sub16已經(jīng)設(shè)計出一個表格式表單窗體,可以輸出教師表的相關(guān)字段信息。請按照以下功能要求補(bǔ)充設(shè)計:改變當(dāng)前記錄,消息框彈出提示“是否刪除該記錄?”,單擊“是”,則直接刪除該當(dāng)前記錄;單擊“否”,則什么都不做。其效果圖如下:單擊“退出”按鈕,關(guān)閉窗體。 Private Sub btnCaneel_Ctick( ) DoCmdClose End Sub表格式表單窗體當(dāng)前記錄變化時觸發(fā) Private Sub Form_Current( )If MsgBox(是否刪除該記錄?,vbQuestion+vbYesNo,確認(rèn))=6(或vbYes)Then End lfE

27、nd Sub 17已經(jīng)完成一個窗體的部分設(shè)計。請按照以下功能要求補(bǔ)充設(shè)計: (1)原始文本處的文本框只接受英文大小寫字符和漢字,其他字符輸入一律忽略; (2)單擊“復(fù)制”按鈕,可將原始文本框的選擇內(nèi)容追加到目標(biāo)文本框內(nèi);(3)目標(biāo)文本框內(nèi)字符數(shù)超過50,則清空。其效果圖如下:代碼如下:Dim strTemp AsString 存放原始文本框選擇文本單擊“復(fù)制”按鈕,實施復(fù)制操作 PrivateSub tCopy_Click( ) Me!tDestText:Nz(Me!tDestText)十strTemp strTemp =” If Len(Me!tDestText)>50 Then Me

28、!tDestText=Null End Sub 原始文本框接受英文大小字母和漢字輸入 Private Sub tSourceText_KeyPress(KeyAscii AsInteger) If(KeyAscii>=Ase(A) And KeyAscii<=Ase(Z) Or (KeyAscii >=Asc(a) And KeyAscii<=Asc()Then Else 輸入其他字符,忽略 KeyAscii=0 End If End Sub 返回原始文本框選擇文本 Private Sub tSourceText LostFocus( ) If Me!tSourceTe

29、xtSelLength>0 Then strTemp = Me!tSourceText.SelText(或Mid(Me!tSourceText, Me!tSourceText.SelStart+1, Me!tSourceText.SelLength) Else strTemp= End IfEnd Sub 18Nz函數(shù)主要用于處理Null值時的情況;Dlookup函數(shù)的功用是從指定記錄集里檢索特定字段的值。第三部分(經(jīng)典題解)一、選擇題(133)1假定有以下循環(huán)結(jié)構(gòu)(2005年9月) Do Until條件 循環(huán)體 Loop則正確的敘述是。A)如果“條件”值為0,則一次循環(huán)體也不執(zhí)行B)如

30、果“條件”值為0,則至少執(zhí)行一次循環(huán)體C)如果“條件”值不為0,則至少執(zhí)行一次循環(huán)體D)不論“條件”是否為“真”,至少要執(zhí)行一次循環(huán)體 解析:DoUntil。Loop循環(huán)結(jié)構(gòu)中,當(dāng)條件值為假時,重復(fù)執(zhí)行循環(huán)體,直至條件值為真,結(jié)束循環(huán)。因此,如果條件值為0,則至少執(zhí)行一次循環(huán)體。2窗體上添加有3個命令按鈕,分別命名為Commandl、Command2和Command3。編寫Commandl的單擊事件過程,完成的功能為:當(dāng)單擊按鈕Commandl時,按鈕Command2可用,按鈕Command3不可見。以下正確的是。(2005年9月) A)Private Sub Commandl_Click()

31、 Command2.Visible=True Command3.Visible=False End Sub B)PrivateSub Commandl_Click() Command2.Enabled=true Command3.Enabled=False End SubC)Private Sub Commandl_Click() Command2.Enabled=True Command3.Visible=FalseEnd Sub D)Private SubCommandl_Click() Command2.Visible=True Command3.Enabled=FalseEnd Sub

32、解析:Enabled屬性用于判斷控件是否可用,而Visible屬性用于判斷控件是否可見。題目中要求Command2可用,而Command3不可見,則必須設(shè)置Command2的Enabled為True,并且設(shè)置Command3的Visible為False3假定有以下程序段:(2005年9月) n=0 for i=1 to 3 forj=-4 to -1 n=n+1 next j next i 運(yùn)行完畢后,n的值是 A) 0 B) 3 C) 4 D) 12 解析:本題中,外層循環(huán)從1到3,要執(zhí)行3次,而內(nèi)層循環(huán)從-4到-1,執(zhí)行4次,所以一共執(zhí)行了4*3=12次循環(huán)。而每執(zhí)行一次循環(huán)n就加1,所以

33、最后n的值為12。4下列邏輯表達(dá)式中,能正確表示條件“x和Y都是奇數(shù)”的是。(2005年9月) A) x Mod 2=1 Or y Mod 2=1 B) x Mod 2=0 Or y Mod 2=0 C)x Mod 2=1 And y Mod 2=1 D)x Mod 2=0 And y Mod 2=0 解析:要使x和y都是奇數(shù),則x和y除以2的余數(shù)都必須是1。5VBA程序的多條語句可以寫在一行中,其分隔符必須使用符號。(2006年4月) A): B) C); D), 解析:VBA程序在一行上寫多個語句時用冒號“:”作分隔符6VBA表達(dá)式3*333的輸出結(jié)果是。(2006年4月) A) 0 B)

34、 1 C) 3 D) 9 解析:VBA的表達(dá)式運(yùn)算符優(yōu)先級順序“*”和“/”高于“”。此表達(dá)式先計算3*3=9和3/3=1,最后計算91=9。7現(xiàn)有一個已經(jīng)建好的窗體,窗體中有一個命令按鈕,單擊此按鈕,將打開tEmployee表,如果采用VBA代碼完成,下面語句正確的是。(2006年4月) A)docmd.openformtEmployee B)docmd.openviewtEmployee C)docmd.OpentabletEmployee D)docmd.OpenreporttEmployee解析:docmd.openform使用openForm操作,可以從“窗體”視圖、窗體“設(shè)計”視圖

35、、“打印預(yù)覽”或“數(shù)據(jù)表”視圖中打開一個窗體,可以選擇窗體的數(shù)據(jù)輸入與窗體數(shù)據(jù)輸出方式并限制窗體所顯示的記錄。Docmd.openview可以使用openview操作在“數(shù)據(jù)表”視圖、視圖“設(shè)計”視圖或打印預(yù)覽中打開視圖。當(dāng)在“數(shù)據(jù)表”視圖中打開視圖時,該操作運(yùn)行此命名的視圖??梢赃x擇該視圖的數(shù)據(jù)項,并可限制視圖顯示的記錄數(shù)。Docmd.openrepot使用OpenReport操作,可以在“設(shè)計”視圖或“打印預(yù)覽”中打開報表或立即打印報表,也可以限制需要在報表中打印的記錄。Docmd.opentable使用OPentable操作,可以在“數(shù)據(jù)表”視圖、“設(shè)計”視圖或打印預(yù)覽中打開表,也可以選

36、擇表的數(shù)據(jù)輸入方式。8Access的控件對象可以設(shè)置某個屬性來控制對象是否可用(不可用時顯示為灰色狀態(tài)),需要設(shè)置的屬性是一。(2006年4月) A)Default B)Cancel C)Enabled D)Visible 解析:Default為命令按鈕確定屬性,只有命令按鈕支持此屬性。 Cancel為取消功能屬性。 Enabled決定控件是否允許操作。 Visible決定控件是否可見。9如果加載一個窗體,先被觸發(fā)的事件是。(2006年4月) A)Load事件 B)Open事件 C)Click事件 D)Dalick事件 解析:Access加載窗體是運(yùn)行指定的宏或用戶定義的事件過程,然后顯示窗體

37、的記錄??梢允褂肔oad事件過程設(shè)置窗體或控件中的值,也可以設(shè)置窗體或控件的屬性。Load事件發(fā)生在Open事件后及Resize事件前,不能被取消。Click事件發(fā)生在窗體單擊時,沒有Ddelick事件。10以下程序段運(yùn)行結(jié)束后,變量x的值為_。(2006年4月) x=2 y=4 DO x=x*y y=y+1 Loop While y<4 A) 2 B) 4 C) 8 D) 20 解析:定義兩個變量x=2、y=4,執(zhí)行Do后的循環(huán)體語句:x=x*y=2*4=8;y=y+1=4+l=5;此時y:5,while語句為假退出循環(huán)。由于執(zhí)行了一次循環(huán),所以x=8。11在窗體上添加一個命令按鈕(名

38、為Commandl),然后編寫如下事件過程:(2006年4月) Private Sub Commandl_Click( ) For i=1 To 4 x=4 Forj=1 To 3 x=3 For k=1 T0 2 x=x+6 Next k Nextj Next i MsgBox x End Sub 打開窗體后,單擊命令按鈕,消息框的輸出結(jié)果是。 A)7 B)15 C)157 D)538 解析:此題中應(yīng)用三重嵌套循環(huán),循環(huán)嵌套的執(zhí)行,當(dāng)外層循環(huán)執(zhí)行一次,內(nèi)層就要執(zhí)行所有的循環(huán):第一個for語句對變量x賦值,x=4;第二個for語句對變量x賦值,x=3;第三個for語句對變最x賦值,x=x+6。

39、當(dāng)i=1時,j=1,k執(zhí)行其內(nèi)部的兩次循環(huán),此時x賦值為3,當(dāng)k=1時,x=x+6=3+6=9:k=2時,x=x+6=96=15。退出內(nèi)循環(huán)到第二個for語句執(zhí)行其剩余的循環(huán),i=1、j=2時,k依舊執(zhí)行其內(nèi)部的兩次循環(huán),此后x還是等于15。i=1、j=3時,因為第三個for語句始終對x的賦值為15,所以運(yùn)算結(jié)果x始終等于15。第二層循環(huán)完成后退回到第一層,執(zhí)行其剩余的循環(huán),步驟同上,因此x=15。12假定有如下的Sub過程:(2006年4月) Sub sfun(x As Single,y As Single) t=x x=t/y y=t Mod y End Sub 在窗體上添加一個命令按鈕(

40、名為Commandl),然后編寫如下事件過程:Private Sub Commandl_Click() Dim a as single Dim b as single a=5 b=4 sfun a,b MsgBox a & chr(10)+chr(13) & b End Sub 打開窗體運(yùn)行后,單擊命令按鈕,消息框的兩行輸出內(nèi)容分別為 。 A)1和1 B)1.25和1 C)125和4 D)5和4 解析:此題中設(shè)置了一個sfun()函數(shù),進(jìn)行除法運(yùn)算和求模運(yùn)算,為命令按鈕(名為Commandl)編寫事件,定義兩變量a=5、b=4;調(diào)用此函數(shù)傳遞a、b的值給x、Y進(jìn)行運(yùn)算,t=x=

41、5、y=4;x:ty;x=5/4=1.25(除法運(yùn)算);Y=t Mod y=5 mod 4=1(求模運(yùn)算)。13Sub過程與Function過程最根本的區(qū)別是。(2006年9月) A)Sub過程的過程名不能返回值,而Function過程能通過過程名返回值 B)Sub過程可以使用Call語句或直接使用過程名調(diào)用,而Function過程不可以 C)兩種過程參數(shù)的傳遞方式不同 D)Function過程可以有參數(shù),Sub過程不可以 解析:過程是模塊的單元組成,分為兩種類型:Sub過程和Function函數(shù)過程。VBA提供的關(guān)鍵字CALL,可顯示調(diào)用一個子過程(Sub過程),但卻不能調(diào)用執(zhí)行函數(shù)過程(F

42、unction過程),此外Sub過程和Function過程都可以直接引用過程名來調(diào)用,因此選項B錯誤。Sub過程可以使用參數(shù)(由調(diào)用過程傳遞的常數(shù)、變量或表達(dá)式),所以選項D錯誤。選項C要視具體情況才能確定。Sub過程執(zhí)行操作但不返回值,F(xiàn)unction過程可以返回值,這也是過程最根本的區(qū)別,所以選項A是正確的。14在窗體中添加一個命令按鈕(名稱為Commandl),然后編寫如下代碼:(2006年9月) PrivateSubCommandl_Click() A=0:b=5:c=6 MsgBox a=b+c End Sub 打開窗體運(yùn)行后,如果單擊命令按鈕,則消息框的輸出結(jié)果是 。 A) 11

43、B) a=11 C) 0 D) False 解析:程序中“MsgBox a=b+c”表示在消息框中顯示a與b+c的值比較的結(jié)果,由“a=0:b=5:c=6”可知,0!=11,所以消息框的輸出結(jié)果為False。15在窗體中添加一個命令按鈕(名稱為Command1),然后編寫如下代碼:(2006年9月) Private Sub Commandl_Click( ) Dim a(10,10) For m=2 TO 4 For n=4 TO 5 a(m,n)=m*n Next n Next m MsgBox a(2,5)+a(3,4)+a(4,5) End Sub 打開窗體運(yùn)行后,單擊命令按鈕,則消息框

44、的輸出結(jié)果是 。 A) 22 B) 32 C) 42 D) 52 解析:根據(jù)程序,a(2,5)+a(3,4)+a(4,5)=2*5+3*4+4*5=4216在窗體中添加一個命令按鈕(名為Commandl)和一個文本框(名為Textl),并在命令按鈕中編寫如下事例代碼:(2006年9月) Private Sub Commandl_Click() m=2.17 Len(“abc”)=3 n=Len(Str$(m)+Space(5) Str$(2.17)=”2.17” Me.Textl=n Space(5)=” End Sub 打開窗體運(yùn)行后,單擊命令按鈕,在文本框中顯示。 A) 5 B) 8 C)

45、 9 D) 10 解析:程序中“n=Len(Str$(m)+Space(5)”的含義是算出字符串總長度,當(dāng)把正數(shù)轉(zhuǎn)換成字符串時,Str$函數(shù)在字符串前面留有一個空格,Space(數(shù)值表達(dá)式)返回由數(shù)值表達(dá)式確定的空格個數(shù)組成的空字符串。Str$(m)表5個字符串,Space(5)表示5個字符串,所以n等于10。17在窗體中添加一個命令按鈕(名稱為Commandl),然后編寫如下代碼:(2006年9月) Private Sub Commandl_Click( ) A=75 If A>60 Then I=1 If A>70 Then I=2 If A>80 Then I=3 1f

46、 A>90 Then I=4 MsgBox I End Sub 打開窗體運(yùn)行后,單擊命令按鈕,則消息框的輸出結(jié)果是。 A)1 B)2 C)3 D)4解析:if條件表達(dá)式1 Then條件表達(dá)式1為真時要執(zhí)的語句序列。在程序中,A=75,即A)70,執(zhí)行IfA)70 Then I=2,所以I=2。18在窗體中添加一個命令按鈕(名稱為Commandl),然后編寫如下代碼:(2006年9月) Private Sub Commandl_Click( ) s="ABBACDDCBA" For I=6 To 2 Step -2 x=Mid(s,I,I) y=Left(s,I) z=

47、Right(s,I) z=x & y & z Next I MsgBox z End Sub 窗體打開運(yùn)行后,單擊命令按鈕,則消息框的輸出結(jié)果是。 A)AABAAB B)ABBABA C)BABBA D)BBABBA解析:Mid(字符表達(dá)式,數(shù)值表達(dá)式1,數(shù)值表達(dá)式2):返回一個值,該值是從字符表達(dá)式最左端某個字符開始,截取到某個字符為止的若干個字符。其中,數(shù)值表達(dá)式1的值是開始的字符位置,數(shù)值表達(dá)式2是終止的字符個數(shù)。Left(字符表達(dá)式,數(shù)值表達(dá)式):返回一個值,該值是從字符表達(dá)式左側(cè)第1個字符開始截取的若干字符。其中,字符字?jǐn)?shù)是數(shù)值達(dá)式的值。Right(字符表達(dá)式,數(shù)值表

48、達(dá)式):返回一個值,該值是從字符表達(dá)式右側(cè)第1個字符開始截取的若干字符。其中,字符字?jǐn)?shù)是數(shù)值表達(dá)式的值。For循環(huán)運(yùn)行三次,最后一次循環(huán)結(jié)束,x="BB",y="AB",z="BBABBA"。 19在窗體中添加一個命令按鈕(名稱為Commandl),然后編寫如下代碼:(2006年9月) Public x As Integer x為全局變量(位置:通用聲明段) Dim y As Integer y為模塊變量(位置:通用聲明段)Private Sub Commandl_Click() x=10 x為全局變量 Call s1 Call s2 MsgBox x x為全局變量 End SubPrivate Sub_s1( ) x=x+20 x為全局變量End Sub PrivateSub_s2(

溫馨提示

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

評論

0/150

提交評論