




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第12章 VBA編程12.1 VBA編程環(huán)境Access提供了多種方法啟動VBA編程環(huán)境,包括如下方式: 按Alt+F11組合鍵(該組合鍵還可以在數(shù)據(jù)庫窗口和VBE之間相互切換)。 在數(shù)據(jù)庫窗口中選擇“工具”菜單,然后選擇“宏”子菜單中的“Visual Basic編輯器”命令。12.1.1 進入VBE12.1 VBA編程環(huán)境 單擊數(shù)據(jù)庫窗口中的“模塊”按鈕,然后雙擊要查看或編輯的模塊,將啟動VBE,此時VBE代碼窗口中顯示為該模塊部分代碼。 單擊數(shù)據(jù)庫窗口中的“模塊”按鈕,然后單擊數(shù)據(jù)庫窗口中的“新建”按鈕,此時打開VBE窗口,并在VBE窗口中創(chuàng)建一個空白模塊。12.1.1 進入VBE12.1
2、 VBA編程環(huán)境上述方法用于查看、編輯那些不在窗體和報表中的模塊。要查看、編輯窗體或報表中的模塊,可使用如下方式: 在“設(shè)計”視圖中打開對象。然后單擊設(shè)計工具欄上的“代碼”按鈕 。打開VBE環(huán)境,并打開該窗體或報表模塊代碼,顯示位置為該模塊的開頭部分。12.1.1 進入VBE12.1 VBA編程環(huán)境 在“設(shè)計”視圖中打開對象。然后右擊需要編寫代碼的控件,在彈出的快捷菜單中選擇“事件生成器”命令。打開VBE環(huán)境,并打開該窗體或報表模塊代碼,顯示位置為該控件代碼的開頭部分。12.1.1 進入VBE12.1 VBA編程環(huán)境圖12.2是一個打開的VBE窗口。VBE環(huán)境通常由一些常用工具欄和多個子窗口組
3、成(在剛開始打開的VBE界面可能沒有部分窗口和工具欄,如果需要,可以執(zhí)行主菜單“視圖”中的相應(yīng)命令來調(diào)出窗口和工具欄)。12.1.1 進入VBE12.1 VBA編程環(huán)境1VBE工具欄VBE中有多種工具欄,包括“調(diào)試”工具欄、“編輯”工具欄、“標準”工具欄和“用戶窗體”工具欄??梢詥螕艄ぞ邫诎粹o來完成該按鈕所指定的動作。如果要顯示工具欄按鈕的工具提示,可以選擇“選項”對話框“標準”選項卡中的“顯示工具提示”。12.1.2 VBE界面12.1 VBA編程環(huán)境“標準”工具欄包含幾個常用的菜單項快捷方式的按鈕。“標準”工具欄是VBE默認顯示的工具欄。圖12.3所示便是“標準”工具欄。12.1.2 VB
4、E界面12.1 VBA編程環(huán)境“標準”工具欄中各圖標及其功能如表12.1所示。12.1.2 VBE界面12.1 VBA編程環(huán)境12.1.2 VBE界面12.1 VBA編程環(huán)境2VBE窗口VBE使用多種不同窗口來顯示不同對象或完成不同任務(wù)。VBE中的窗口有代碼窗口、立即窗口、本地窗口、對象瀏覽器、工程資源管理器、屬性窗口、工具箱、用戶窗體窗口和監(jiān)視窗口等。在VBE窗口的“視圖”菜單中包括了用于打開各種窗口的菜單命令。12.1.2 VBE界面12.1 VBA編程環(huán)境(1)代碼窗口(2)立即窗口(3)監(jiān)視窗口(4)本地窗口(5)對象瀏覽器(6)工程資源管理器(7)屬性窗口12.1.2 VBE界面12
5、.1 VBA編程環(huán)境在VBA中經(jīng)常需要對函數(shù)或過程進行調(diào)試。VBA提供了若干種調(diào)試的工具,主要有Debug.print和設(shè)置斷點。1使用Debug.Print使用立即窗口的方法是在程序代碼中加入Debug.Print命令,其作用是在屏幕上顯示變量的當前值。12.1.3 調(diào)試過程12.1 VBA編程環(huán)境2設(shè)置斷點另一個測試工具是斷點調(diào)試法。一般來說,設(shè)置斷點是為了觀察程序運行時的狀態(tài)。在程序中指定的、希望暫停的地方設(shè)置斷點。在程序暫停后,可以在立即窗口中顯示變量信息。12.1.3 調(diào)試過程12.2 VBA程序設(shè)計基礎(chǔ)VBA數(shù)據(jù)類型繼承了傳統(tǒng)的Basic語言,如Microsoft QuickBas
6、ic。在VBA應(yīng)用程序中,也需要對變量的數(shù)據(jù)類型進行聲明。VBA提供了較為完備的數(shù)據(jù)類型,Access數(shù)據(jù)表中的字段使用的數(shù)據(jù)類型(OLE對象和備注字段數(shù)據(jù)類型除外)在VBA中都有對應(yīng)的類型。12.2.1 數(shù)據(jù)類型12.2 VBA程序設(shè)計基礎(chǔ)VBA類型、類型聲明符、數(shù)據(jù)類型、取值范圍和默認值如表12.2所示。其中,字符串類型又分為變長字符串(String)和定長字符串(String * length)。12.2.1 數(shù)據(jù)類型12.2 VBA程序設(shè)計基礎(chǔ)除了上述系統(tǒng)提供的基本數(shù)據(jù)類型外,VBA還支持用戶自定義數(shù)據(jù)類型。自定義數(shù)據(jù)類型實質(zhì)上是由基本數(shù)據(jù)類型構(gòu)造而成的一種數(shù)據(jù)類型,可以根據(jù)需要來定義
7、一個或多個自定義數(shù)據(jù)類型。12.2.1 數(shù)據(jù)類型12.2 VBA程序設(shè)計基礎(chǔ)1常量常量是指在程序運行的過程中其值不能被改變的量。(1)符號常量(2)固有常量(3)系統(tǒng)定義常量12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)2變量變量實際上是一個符號地址,代表了命名的存儲位置,包含在程序執(zhí)行階段修改的數(shù)據(jù)。每個變量都有變量名,在其作用域范圍內(nèi)可唯一識別。使用前可以指定數(shù)據(jù)類型(即采用顯式聲明),也可以不指定(即采用隱式聲明)。12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)(1)變量的聲明變量名必須以字母字符開頭,在同一范圍內(nèi)必須是唯一的,不能超過255個字符,而且中間不能包
8、含句點或類型說明符號。對變量進行聲明可以使用類型說明符號、Dim語句和DefType語句。12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ) 使用類型說明符號聲明變量 使用Dim語句聲明變量 使用DefType語句聲明變量 使用變體類型 用戶自定義類型的聲明與使用12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)(2)變量的作用域和生命周期在聲明變量作用域時可以將變量聲明為Locate(本地或局部)、Private(私有,Module模塊級)或Public(公共或全局)。 本地變量 私有變量: 公共變量:12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)變量的生命周期與
9、作用域是兩個不同的概念,生命周期是指變量從首次出現(xiàn)(執(zhí)行變量聲明,為其分配存儲空間)到消失的代碼執(zhí)行時間。本地變量的生命周期是過程或函數(shù)被開始調(diào)用到運行結(jié)束的時間(靜態(tài)變量除外)。公共變量的生命周期是從聲明到整個Access應(yīng)用程序結(jié)束。12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)對于本地變量的生命周期的一個例外是靜態(tài)變量。靜態(tài)變量的聲明使用“Static變量名As數(shù)據(jù)類型”。靜態(tài)變量在Access程序執(zhí)行期間一直存在,其作用范圍是聲明它的子程序或函數(shù)。靜態(tài)變量可以用來計算事件發(fā)生的次數(shù)或者是函數(shù)與過程被調(diào)用的次數(shù)。12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)3數(shù)組
10、數(shù)組是由一組具有相同數(shù)據(jù)類型的變量(稱為數(shù)組元素)構(gòu)成的有序序列。數(shù)組變量由變量名和數(shù)組下標組成。(1)數(shù)組的聲明在VBA中不允許隱式說明數(shù)組,用戶可用Dim語句來聲明數(shù)組,聲明方式為:Dim數(shù)組名(數(shù)組下標上界) As 數(shù)據(jù)類型12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)如果要定義多維數(shù)組,聲明方式如下:Dim 數(shù)組名(數(shù)組第一維下標上界,數(shù)組第二維下標上界,) As 數(shù)據(jù)類型例如:Dim intArray (2,3) As Integer該語句定義了一個二維數(shù)組,第一維有3個元素,第二維有4個元素。12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)在VBA中,還允許用
11、戶定義動態(tài)數(shù)組。動態(tài)數(shù)組的定義方法是,先使用Dim來聲明數(shù)組,但不指定數(shù)組元素的個數(shù),而在以后使用時再用ReDim來指定數(shù)組元素個數(shù),稱為數(shù)組重定義。在對數(shù)組重定義時,可以使用ReDim后加保留字Preserve來保留以前的值,否則使用ReDim后數(shù)組元素的值會被重新初始化為默認值。12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)(2)數(shù)組的使用數(shù)組聲明后,數(shù)組中的每個元素都可以當作單個的變量來使用,其使用方法與相同類型的普通變量相同。其元素引用格式為:數(shù)組名(下標值表)12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)其中,如果該數(shù)組為一維數(shù)組,則下標值表為一個范圍為數(shù)組下
12、標下界,數(shù)組下標上界的整數(shù);如果該數(shù)組為多維數(shù)組,則下標值表為一個由多個(不大于數(shù)組維數(shù))用逗號分開的整數(shù)序列,每個整數(shù)(范圍為該維數(shù)組下標下界,該維數(shù)組下標上界)表示對應(yīng)的下標值。12.2.2 常量、變量與數(shù)組12.2 VBA程序設(shè)計基礎(chǔ)運算是對數(shù)據(jù)的加工,最基本的運算形式常??梢杂靡恍┖啙嵉姆杹砻枋?,這些符號稱為運算符。表達式是許多Access操作的基本組成部分,是運算符、常量、文字值、函數(shù)和字段名、控件和屬性的任意組合,可以使用表達式作為很多屬性和操作參數(shù)的設(shè)置;可以在窗體、報表和數(shù)據(jù)訪問頁中定義計算控件;可以在查詢中設(shè)置準則或定義計算字段以及在宏中設(shè)置條件;等等。12.2.3 運算符
13、與表達式12.2 VBA程序設(shè)計基礎(chǔ)1算術(shù)運算符與算術(shù)表達式算術(shù)運算符是常用的運算符,用來執(zhí)行簡單的算術(shù)運算。VBA提供了8個算術(shù)運算符,如表12.4所示。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)在8個算術(shù)運算符中,除取負(-)是單目運算符外,其他均為雙目運算符。加(+)、減(-)、乘(*)、取負(-)幾個運算符的含義與數(shù)學(xué)中基本相同,下面介紹其他幾個運算符的操作。(1)指數(shù)運算指數(shù)運算用來計算乘方和方根,其運算符為,28表示2的8次方,而2 (1/2)或20.5是計算2的平方根。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)(2)浮點數(shù)除法與整數(shù)除法運算浮點數(shù)除法運
14、算符(/)執(zhí)行標準除法操作,其結(jié)果為浮點數(shù)。整數(shù)除法運算符()執(zhí)行整除運算,結(jié)果為整型值,因此,表達式52的值為2。整除的操作數(shù)一般為整型值。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)(3)取模運算取模運算符(Mod)用來求余數(shù),其結(jié)果為第1個操作數(shù)整除第2個操作數(shù)所得的余數(shù)。表12.4按優(yōu)先順序列出了算術(shù)運算符。在8個算術(shù)運算符中,指數(shù)運算符()優(yōu)先級最高,其次是取負(-)運算符、乘法(*)、浮點數(shù)除法(/)、整數(shù)除法()、加法(+)、減法(-)。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)其中,乘法與浮點數(shù)除法是同級運算符,加法與減法是同級運算符。當一個表達式中含
15、有多種算術(shù)運算符時,必須嚴格按上述順序求值。此外,如果表達式中含有括號,則先計算括號內(nèi)表達式的值;有多層括號時,先計算內(nèi)層括號中的表達式。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)2字符串連接符與字符串表達式字符串連接符(&)用來連接多個字符串(字符串相加)。在VBA中,“+”既可用作加法運算符,還可以用作字符串連接符,但“&”專門用作字符串連接,其作用與“+”相同。在有些情況下,用“&”比用“+”可能更安全。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)3關(guān)系與邏輯運算符、關(guān)系表達式(1)關(guān)系運算符與關(guān)系表達式關(guān)系運算符也稱為比較運算符,用來對兩個表達式的值進行比較,
16、比較的結(jié)果是一個邏輯值,即真(True)或假(False)。用關(guān)系運算符連接兩個算術(shù)表達式所組成的表達式稱為關(guān)系表達式。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)VBA提供了6個關(guān)系運算符,如表12.5所示。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)(2)邏輯運算符邏輯運算也稱為布爾運算,由邏輯運算符連接兩個或多個關(guān)系式,組成一個布爾表達式。VBA提供了6種邏輯運算符,如表12.6所示。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)4對象運算符與對象運算表達式(1)對象運算符對象運算表達式中使用“!”和“.”兩種運算符,使用對象運算符指示隨后將出現(xiàn)的項目類
17、型。12.2.3 運算符與表達式12.2 VBA程序設(shè)計基礎(chǔ)(2)在表達式中引用對象在表達式中可以使用標識符來引用一個對象或?qū)ο蟮膶傩?。例如,可以引用一個開啟的報表的Visible屬性:Reports!訂單!訂單ID.Visible發(fā)訂單引用“訂單”報表,單位引用“訂單”報表上的“訂單ID”控件。12.2.3 運算符與表達式12.3 程序流程控制1行If語句If語句結(jié)構(gòu)如下:If 條件 Then 語句1If 條件 hen 語句1 Else 語句2其中,語句1和語句2可以是任何一條VBA的可執(zhí)行語句。也就是說,語句1和語句2也可以是一條行If語句。12.3.1 分支結(jié)構(gòu)12.3 程序流程控制If
18、語句在執(zhí)行時首先判斷條件是否為真,如果為真,則執(zhí)行語句1;否則,執(zhí)行Else后面的語句2。如果條件為假,又沒有Else語句,則跳過該行語句。行If語句的特點是在一行中寫完該語句,不以End If結(jié)束。行If語句也可以嵌套使用。12.3.1 分支結(jié)構(gòu)12.3 程序流程控制2塊If語句塊If語句結(jié)構(gòu)如下:If條件Then 語句組1Else 語句組2End If12.3.1 分支結(jié)構(gòu)12.3 程序流程控制這是最簡單的塊If語句。其中,語句組1和語句組2可以是多條VBA的可執(zhí)行語句。在執(zhí)行時也是首先判斷條件是否為真,如果為真,則執(zhí)行語句組1;否則,執(zhí)行Else塊中的語句組2。如果條件為假,又沒有Els
19、e塊,則跳過該If語句。12.3.1 分支結(jié)構(gòu)12.3 程序流程控制塊If語句還可以使用另一種結(jié)構(gòu):If 條件1 Then語句組1ElseIf 條件2 Then語句組2ElseIf 條件3 Then語句組312.3.1 分支結(jié)構(gòu)12.3 程序流程控制 ElseIf 條件n Then語句組nElse語句組n+1End If12.3.1 分支結(jié)構(gòu)12.3 程序流程控制3iif函數(shù)iif函數(shù)是If語句的一種特殊格式,使用語法如下:varX=iif(條件,表達式1,表達式2)iif函數(shù)的作用是:先判斷條件,如果條件為真,就返回表達式1的值;否則返回表達式2的值。12.3.1 分支結(jié)構(gòu)12.3 程序流程
20、控制4Select Case語句If語句只能根據(jù)一個條件的是或非兩種情況進行選擇。如果要處理有多種選擇的情況則必須使用If語句進行多重嵌套,這使句子結(jié)構(gòu)變得十分復(fù)雜,可讀性降低。處理多種選擇最有效的方法是使用Select Case語句。12.3.1 分支結(jié)構(gòu)12.3 程序流程控制下面的例子說明了Select Case語句的結(jié)構(gòu)和用法:Select Case IntX Case 0 MsgBox 不合格產(chǎn)品 Case 1,2,3 MsgBox 特種產(chǎn)品 Case 5 To 10 MsgBox 內(nèi)部消費品 12.3.1 分支結(jié)構(gòu)12.3 程序流程控制Case Is100 MsgBox 出口優(yōu)質(zhì)產(chǎn)品
21、 Case Else MsgBox 特殊情況End Select12.3.1 分支結(jié)構(gòu)12.3 程序流程控制Select Case先對其后的字符串、數(shù)值變量或表達式求值,然后按順序與每個Case表達式進行比較。Case表達式可以有多種形式: 單個值或一列值,相鄰兩個值之間用逗號隔開。 用關(guān)鍵字To指定值的范圍,其中第1個值不應(yīng)大于第2個值,對字符串將比較第一個字符的ASCII碼大小。12.3.1 分支結(jié)構(gòu)12.3 程序流程控制 使用關(guān)鍵字Is指定條件。Is后緊接關(guān)系運算符(如、=和等)和一個變量或值。 前面的3種條件形式混用,多個條件之間用逗號隔開。Case語句按先后順序進行比較,執(zhí)行與第1個
22、Case條件相匹配的代碼。若不存在匹配的條件,則執(zhí)行Case Else語句。然后程序?qū)腅nd Select語句后的代碼行繼續(xù)執(zhí)行。如果Select Case所求得的值是數(shù)值類型,則Case條件中的表達式都必須是數(shù)值類型。12.3.1 分支結(jié)構(gòu)12.3 程序流程控制1While循環(huán)While循環(huán)結(jié)構(gòu)如下:While條件 循環(huán)體WendWhile循環(huán)是當型循環(huán),當條件滿足時執(zhí)行循環(huán)體。12.3.2 循環(huán)結(jié)構(gòu)12.3 程序流程控制2Do WhileLoop和DoLoop WhileDo WhileLoop循環(huán)與While循環(huán)都是當型循環(huán),先判斷條件,當條件滿足時執(zhí)行循環(huán)體。而DoLoop Whil
23、e語句先執(zhí)行一次循環(huán)體,再判斷條件,條件滿足時再執(zhí)行循環(huán)體。這種循環(huán)被稱為直到型循環(huán)。12.3.2 循環(huán)結(jié)構(gòu)12.3 程序流程控制3Do UntilLoop和DoLoop UntilDo UntilLoop為當型循環(huán),DoLoop Until是直到型循環(huán)。先執(zhí)行一次循環(huán)體,再判斷條件,當條件不成立時執(zhí)行循環(huán)體。Do WhileLoop、DoLoop While、Do UntilLoop和DoLoop Until循環(huán)體中都可以使用Exit Do跳出循環(huán)。12.3.2 循環(huán)結(jié)構(gòu)12.3 程序流程控制4For循環(huán)ForNext語句常用于按指定次數(shù)重復(fù)地執(zhí)行一組操作。其語法結(jié)構(gòu)如下:For 循環(huán)控制變
24、量=初值 To 終值 Step 步長循環(huán)語句Next其中,“Step步長”可以省略,省略時步長值為1。12.3.2 循環(huán)結(jié)構(gòu)12.3 程序流程控制循環(huán)控制變量可以是整型、長整型、實數(shù)(單精度和雙精度)以及字符串,但最常用的還是整型和長整型變量。循環(huán)控制變量的初值和終值的設(shè)置受步長的約束。當步長為負數(shù)時,初值不小于終值才可能執(zhí)行循環(huán)體;當步長為正數(shù)時,初值不大于終值才可能執(zhí)行循環(huán)體。12.3.2 循環(huán)結(jié)構(gòu)12.3 程序流程控制For循環(huán)執(zhí)行步驟如下:(1)將初值賦給循環(huán)控制變量。(2)判斷循環(huán)控制變量是否在初值與終值之間。(3)如果循環(huán)控制變量超出范圍,則跳出循環(huán);否則繼續(xù)執(zhí)行循環(huán)體。(4)在執(zhí)
25、行完循環(huán)體后,將循環(huán)變量加上步長賦給循環(huán)變量,再返回(2)繼續(xù)執(zhí)行。12.3.2 循環(huán)結(jié)構(gòu)12.3 程序流程控制For循環(huán)的循環(huán)次數(shù)可以按如下公式計算:循環(huán)次數(shù)=(終值-初值)/步長+1在循環(huán)體中,如果需要,可以使用Exit For跳出循環(huán)體。5For EachNext語句For EachNext語句用于對一個數(shù)組或集合中的每個元素重復(fù)執(zhí)行一組語句。12.3.2 循環(huán)結(jié)構(gòu)12.4 模塊、函數(shù)與子過程按模塊的不同使用情況,可以將Access中的模塊分成4種:Access模塊、窗體模塊、報表模塊和類模塊。 Access模塊:也稱為標準模塊,可在“數(shù)據(jù)庫”窗口的對象欄中單擊“模塊”來查看數(shù)據(jù)庫擁有的
26、標準模塊。 窗體模塊:由處理窗體和窗體控件所觸發(fā)的事件過程組成。12.4.1 模塊12.4 模塊、函數(shù)與子過程 報表模塊:包含了用于處理報表、報表段或頁眉/頁腳所觸發(fā)的事件處理程序的代碼。 類模塊:不與窗體和報表相關(guān)聯(lián),允許用戶定義自己的對象、屬性和方法。12.4.1 模塊12.4 模塊、函數(shù)與子過程模塊的通用聲明部分用來對要在模塊中或模塊之間使用的變量、常量、自定義數(shù)據(jù)類型以及模塊級Option語句進行聲明。模塊中可以使用的Option語句包括Option Base語句、Option Compare語句、Option Explicit語句和Option Private語句。12.4.1 模塊
27、12.4 模塊、函數(shù)與子過程1函數(shù)與子過程的定義子程序定義的語法結(jié)構(gòu)如下:Sub子程序名() 子程序代碼End Sub12.4.2 函數(shù)與子過程12.4 模塊、函數(shù)與子過程函數(shù)定義的語法結(jié)構(gòu)如下:Function函數(shù)名(參數(shù)) As 數(shù)據(jù)類型 函數(shù)代碼End Function與定義符號常量、變量和自定義數(shù)據(jù)類型相似,可以在函數(shù)和子過程定義時使用Public、Private或Static前綴來聲明子程序和函數(shù)的作用范圍。12.4.2 函數(shù)與子過程12.4 模塊、函數(shù)與子過程自定義函數(shù)的使用和內(nèi)部函數(shù)的使用完全相同,采用函數(shù)名直接進行調(diào)用,并只能用于表達式中參與運算或給變量賦值。在Access模塊
28、中的子程序和函數(shù)如果不使用Private進行聲明,則都是公共的。公共的子程序和函數(shù)可以被任何其他模塊調(diào)用。被Private聲明為私有的子程序和函數(shù),只能在定義的模塊中使用。12.4.2 函數(shù)與子過程12.4 模塊、函數(shù)與子過程2創(chuàng)建子程序和函數(shù)在VBA中常提到的子程序和函數(shù)是指那些不與特定的對象或事件綁定的過程。與對象或事件綁定的過程稱為事件過程。聲明的位置和方式不同,過程的作用范圍和生存周期也不同。(1)在代碼模塊中創(chuàng)建子程序和函數(shù)(2)在窗體類模塊或報表類模塊中創(chuàng)建子程序和函數(shù)12.4.2 函數(shù)與子過程12.4 模塊、函數(shù)與子過程3事件過程與函數(shù)的調(diào)用(1)事件過程的調(diào)用方法事件過程的調(diào)用
29、可以稱為是事件觸發(fā)。當一個對象的事件發(fā)生時,對應(yīng)的事件過程會被自動調(diào)用。(2)過程的參數(shù)傳遞和返回值12.4.2 函數(shù)與子過程12.5 面向?qū)ο蟮某绦蛟O(shè)計基本概念A(yù)ccess采用面向?qū)ο蟪绦蜷_發(fā)環(huán)境,其數(shù)據(jù)庫窗口可以方便地訪問和處理表、查詢、窗體、報表、頁、宏和模塊對象。VBA中可以使用這些對象以及范圍更廣泛的一些可編程對象。12.5.1 集合和對象12.5 面向?qū)ο蟮某绦蛟O(shè)計基本概念對象是面向?qū)ο蟪绦蛟O(shè)計的基本單元,是一種將數(shù)據(jù)和操作過程結(jié)合在一起的數(shù)據(jù)結(jié)構(gòu),每個對象都有自己的屬性和事件。對象的屬性按其類別會有所不同,而且同一對象的不同實例屬性構(gòu)成也可能有差異。對象除了屬性以外還有方法。對象的方法就是對象可以執(zhí)行的行為。12.5.1 集合和對象12.5 面向?qū)ο蟮某绦蛟O(shè)計基本概念A(yù)ccess應(yīng)用程序由表、查詢、窗體、報表、頁、宏和模塊對象列表構(gòu)成,形成不同的類。Access數(shù)據(jù)庫窗體左側(cè)顯示的是數(shù)據(jù)庫的對象類,單擊其中的任一對象類,就可以打開相應(yīng)對象
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中小微企業(yè)供應(yīng)鏈金融創(chuàng)新案例對比分析報告
- 公估行業(yè)監(jiān)管政策-洞察及研究
- 廣西中醫(yī)藥大學(xué)《糧油加工工藝學(xué)實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 南華大學(xué)《海洋生物動力學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 語音交互優(yōu)化-第1篇-洞察及研究
- 五邑大學(xué)《外教口語》2023-2024學(xué)年第一學(xué)期期末試卷
- 棗莊科技職業(yè)學(xué)院《動畫表演》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南能源職業(yè)技術(shù)學(xué)院《多聲部音樂分析與習(xí)作3》2023-2024學(xué)年第一學(xué)期期末試卷
- 家風(fēng)教育實踐活動方案
- 家庭意識教育活動方案
- 2025年中學(xué)教師綜合素質(zhì)考點梳理
- 神經(jīng)內(nèi)科常見藥物及管理
- 2025版國家開放大學(xué)法學(xué)本科《國際私法》歷年期末紙質(zhì)考試案例題題庫
- 【MOOC】中醫(yī)診斷學(xué)-福建中醫(yī)藥大學(xué) 中國大學(xué)慕課MOOC答案
- 河北省職業(yè)院校“新材料智能生產(chǎn)與檢驗”(中職組)技能大賽考試題庫(含答案)
- 物理-2025年中考終極押題猜想(廣州專用)(原卷版)
- 慢性乙型肝炎防治指南(2022年版)解讀
- 技師機械類選擇題及答案
- 中華傳統(tǒng)文化之戲曲瑰寶學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 年薪制員工聘用合同(3篇)
- GB/T 15822.1-2024無損檢測磁粉檢測第1部分:總則
評論
0/150
提交評論