數(shù)據(jù)庫 第9章模塊與VBA程序設(shè)計(jì)_習(xí)習(xí)題_第1頁
數(shù)據(jù)庫 第9章模塊與VBA程序設(shè)計(jì)_習(xí)習(xí)題_第2頁
數(shù)據(jù)庫 第9章模塊與VBA程序設(shè)計(jì)_習(xí)習(xí)題_第3頁
數(shù)據(jù)庫 第9章模塊與VBA程序設(shè)計(jì)_習(xí)習(xí)題_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、第9章 模塊與VBA程序設(shè)計(jì)_習(xí)題一、選擇題1模塊是存儲代碼的容器,其中窗體就是一種( )。AA類模塊 B標(biāo)準(zhǔn)模塊 C子過程 D函數(shù)過程2使用Dim聲明變量,若省略“As類型”,則所創(chuàng)建的變量默認(rèn)為( )。CAInteger BString CVariant D不合法變量3函數(shù)Len("Access數(shù)據(jù)庫")的值是( )。AA9 B12 C15 D184函數(shù)Right(Left(Mid("Access_DataBase",10,3),2),1)的值是( )。AAa BB Ct D空格5在下列邏輯表達(dá)式中,能正確表示條件“m和n至少有一個(gè)為偶數(shù)”的是( )

2、。CAm Mod 2 = 1 Or n Mod 2 = 1 Bm Mod 2 = 1 And n Mod 2 = 1Cm Mod 2 = 0 Or n Mod 2 = 0 Dm Mod 2 = 0 And n Mod 2 = 06語句Select Case x 中,x為一整型變量,下列Case語句中,表達(dá)式錯(cuò)誤的是( )。DACase Is > 20 BCase 1 To 10 CCase 2, 4, 6 DCase x > 107Sub過程和Function過程最根本的區(qū)別是( )。AASub過程的過程名不能返回值,而Function過程能通過過程名返回值BSub過程可以使用Ca

3、ll語句或直接便用過程名,而Function過程不能C兩種過程參數(shù)的傳遞方式不同DFunction過程可以有參數(shù),Sub過程不能有參數(shù)8VBA中用實(shí)參x和y調(diào)用有參過程PPSum(a, b)的正確形式是( )。BAPPSum a, b BPPSum x, y CCall PPSum(a, b) DCall PPSum x, y9在VBE的立即窗口輸入如下命令,輸出結(jié)果是( )。Bx=4=5 xATrue BFalse C4=5 D語句有錯(cuò)10程序調(diào)試的目的在于( )。DA驗(yàn)證程序代碼的正確性 B執(zhí)行程序代碼C查看程序代碼的變量 D查找和解決程序代碼的錯(cuò)誤二、填空題1在VBA中,要得到15,75

4、區(qū)間的隨機(jī)整數(shù),可以用表達(dá)式_。Int(Rnd*61+15) 2定義了二維數(shù)組A(2 to 5, 5),則該數(shù)組的元素個(gè)數(shù)為 。243VBA中變量作用域分為3個(gè)層次,這3個(gè)層次的變量是_、_和_。局部變量,模塊變量,全局變量4VBA的有參過程定義,形參用_說明,表明該形參為傳值調(diào)用;形參用ByRef說明,表明該形參為_。ByVal,傳地址調(diào)用5有如下VBA代碼,運(yùn)行結(jié)束后,變量n的值是 ,變量i的值是 。12,4n=0For i=1 To 3For j=-4 To -1n=n+1Next jNext i6設(shè)有以下窗體單擊事件過程:Private Sub Form_Click()a=1For i

5、=1 To 3Select Case iCase 1,3a=a+1Casw 2,4a=a+2End SelectNext iMsgBox aEnd Sub打開窗體運(yùn)行后,單擊窗體,則消息框的輸出內(nèi)容是_。57進(jìn)行ADO數(shù)據(jù)庫編程時(shí),用來指向查詢數(shù)據(jù)時(shí)返回的記錄集對象是 。RecordSet8RecordSet對象有兩個(gè)屬性用來判斷記錄集的邊界,其中,判斷記錄指針是否在最后一條記錄之后的屬性是 。EOF三、問答題1在Access中,既然已經(jīng)提供了宏操作,為什么還要使用VBA答:在Access中宏提供的是常用的一些操作,但未包含所有操作。用戶在表示一些自我需要的特定操作時(shí),仍需使用VBA代碼編寫其

6、操作。 2什么是類模塊和標(biāo)準(zhǔn)模塊它們的特征是什么答:類模塊是與類對象相關(guān)聯(lián)的模塊,所以也稱為類對象模塊。類模塊是可以定義新對象的模塊。新建一個(gè)類模塊,表示新創(chuàng)建了一個(gè)對象,通過類模塊的過程可定義對象的屬性和方法。Access的類模塊有3種基本形式:窗體類模塊、報(bào)表類模塊和自定義類模塊。標(biāo)準(zhǔn)模塊是指可在數(shù)據(jù)庫中公用的模塊,模塊中包含的主要是公共過程和常用過程,這些公用過程不與任何對象相關(guān)聯(lián),可以被數(shù)據(jù)庫的任何對象使用,可以在數(shù)據(jù)庫的任何位置執(zhí)行。常用過程是類對象經(jīng)常要使用的過程,需要多次調(diào)用的過程。一般情況下,Access中所說的模塊是指標(biāo)準(zhǔn)模塊。類模塊一般用于定義窗體、報(bào)表中某個(gè)控件事件的響應(yīng)

7、行為,常通過私有的過程來定義。類模塊可以通過對象事件操作直接調(diào)用。標(biāo)準(zhǔn)模塊一般用來定義數(shù)據(jù)庫、窗體、報(bào)表中多次執(zhí)行的操作,常通過公有的過程來定義,標(biāo)準(zhǔn)模塊通過函數(shù)過程名來調(diào)用。3什么是形參和實(shí)參過程中參數(shù)的傳遞有哪幾種它們之間有什么不同答:過程或函數(shù)聲明中的形式參數(shù)列表簡稱形參。形參可以是變量名(后面不加括號)或數(shù)組名(后面加括號)。如果子過程沒有形式參數(shù),則子程序名后面必須跟一個(gè)空的圓括號。過程或函數(shù)調(diào)用時(shí),其實(shí)際參數(shù)列表簡稱為實(shí)參,它與形式參數(shù)的個(gè)數(shù)、位置和類型必須一一對應(yīng),調(diào)用時(shí)把實(shí)參的值傳遞給形參。在VBA中實(shí)參與形參的傳遞方式有兩種:引用傳遞和按值傳遞。在形參前面加上ByRef關(guān)鍵字

8、或省略不寫,表示參數(shù)傳遞是引用傳遞方式,引用傳遞方式是將實(shí)參的地址傳遞給形參,也就是實(shí)參和形參共用同一個(gè)內(nèi)存單元,是一種雙向的數(shù)據(jù)傳遞,即調(diào)用時(shí)實(shí)參將值傳遞給形參,調(diào)用結(jié)束由形參將操作結(jié)果返回給實(shí)參。引用傳遞的實(shí)參只能是變量,不能是常量或表達(dá)式。在形參前面加上ByVal關(guān)鍵字時(shí),表示參數(shù)是按值傳遞方式,是一種單向的數(shù)據(jù)傳遞。即調(diào)用時(shí)只能由實(shí)參將值傳遞形參,調(diào)用結(jié)束后不能由形參將操作結(jié)果返回給實(shí)參。實(shí)參可以是常量、變量或表達(dá)式。4編寫程序,要求輸入一個(gè)3位整數(shù),將它反向輸出。例如輸入123,輸出為321。答:在Access中設(shè)計(jì)的窗體如上圖所示,轉(zhuǎn)換命令按鈕的單擊事件代碼如下:Private S

9、ub cmd_convert_Click() Dim v_result As String '結(jié)果變量 v_result = "" If Not IsNumeric Then MsgBox "輸入的不為數(shù)值!" Exit Sub End If If Len <> 3 Then MsgBox "輸入的不為3位數(shù)!" End If For i = 1 To 3 v_result = v_result & Mid, 3 - i + 1, 1) Next i MsgBox "結(jié)果:" &

10、 v_resultEnd Sub5利用IF語句求3個(gè)數(shù)X、Y、Z中的最大數(shù),并將其放入MAX變量中。答:VBA代碼如下:Private Sub Command1_Click() x = InputBox("請輸入第一個(gè)數(shù)x的值", "請輸入需比較的數(shù)") max = x y = InputBox("請輸入第二個(gè)數(shù)y的值", "請輸入需比較的數(shù)") If y > max Then max = y z = InputBox("請輸入第三個(gè)數(shù)z的值", "請輸入需比較的數(shù)")

11、 If z > max Then max = z = Str(x) & "," & Str(y) & "," & Str(z) = max End Sub 6使用Select Case結(jié)構(gòu)將一年中的12個(gè)月份,分成4個(gè)季節(jié)輸出。答:VBA代碼如下:Private Sub Form_Load() = "" End Sub Private Sub Command5_Click() = "" m% = InputBox("請輸入欲判斷季節(jié)的月份的值", "

12、;注意:只可為1-12之間的整數(shù)") Select Case m Case 2 To 4 ' 春季 = Trim(Str(m) & "月份的季節(jié)為" = "春季" Case 5 To 7 '夏季 = Trim(Str(m) & "月份的季節(jié)為" = "夏季" Case 8 To 10 '秋季 = Trim(Str(m) & "月份的季節(jié)為" = "秋季" Case 11 To 12, 1 = Trim(Str(m) &

13、amp; "月份的季節(jié)為" = "冬季" Case Else '無效的月份 = "輸入的是無效的月份" End Select End Sub 7求100以內(nèi)的素?cái)?shù)。答:VBA代碼如下:Private Sub Command1_Click() Dim m As String = "" m = "2" For i% = 3 To 99 Step 2 For j% = 2 To i - 1 Lx% = i Mod j If Lx = 0 Then Exit For End If Next If

14、 j > i - 1 Then m = m + " ," + Trim(Str(i) End If Next = m End Sub 8利用ADO對象,對“教學(xué)管理”數(shù)據(jù)庫的“課程”表完成以下操作:(1)添加一條記錄:“Z0004”,“數(shù)據(jù)結(jié)構(gòu)”,“必修”,1。(2)查找課程名為“數(shù)據(jù)結(jié)構(gòu)”的記錄,并將其學(xué)分更新為3。(3)刪除課程號為“Z0004”的記錄。答:(1)在教學(xué)管理數(shù)據(jù)庫中,添加一條記錄的過程如下。Sub AddRecord(kc_hao As String, kc_name As String, kc_class As String, kc_score

15、As Integer) Dim rs As New Dim conn As New On Error GoTo GetRS_Error Set conn = '打開當(dāng)前連接 strSQL, conn, adOpenKeyset, adLockOptimistic ("課程號").Value = kc_hao ("課程名").Value = kc_name ("課程類別").Value = kc_class ("學(xué)分").Value = kc_score Set rs = Nothing Set conn = NothingEnd Sub(2)查找課程名為“數(shù)據(jù)結(jié)構(gòu)”的記錄,并將其學(xué)分更新為3。其代碼實(shí)現(xiàn)如下:Sub ExecSQL() Dim conn As

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論