版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用第第11 11章章 模塊與模塊與VBAVBA編程編程第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用教學(xué)目標(biāo)教學(xué)目標(biāo)了解模塊的概念了解模塊的概念掌握掌握VBA編程基礎(chǔ)編程基礎(chǔ)掌握掌握VBA程序結(jié)構(gòu)程序結(jié)構(gòu)掌握過程定義與調(diào)用掌握過程定義與調(diào)用掌握掌握VBA的數(shù)據(jù)庫編程的數(shù)據(jù)庫編程重點(diǎn)與難點(diǎn):VBA數(shù)據(jù)庫編程數(shù)據(jù)庫編程第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 引引 言言 Access擁有一套功能強(qiáng)大的編程工具擁有一套功能強(qiáng)大的編程工具VBA,使用這,使用這套編程工具,用戶可以開發(fā)出功能比較完善的數(shù)據(jù)庫套編程工具,用戶可以開發(fā)出功能比較完善的數(shù)據(jù)庫系統(tǒng)。系統(tǒng)。 VBA
2、是是Visual Basic for Application的英文縮寫,是用的英文縮寫,是用Basic語言作為語法基礎(chǔ)的可視化的高級語言,是應(yīng)用語言作為語法基礎(chǔ)的可視化的高級語言,是應(yīng)用在在Office產(chǎn)品內(nèi)部的編程語言。產(chǎn)品內(nèi)部的編程語言。 第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 11.1 11.1 模塊的概念模塊的概念 模塊是模塊是Access數(shù)據(jù)庫中最后一個重要的對象,數(shù)據(jù)庫中最后一個重要的對象,它是用它是用VBA語言編寫的,模塊起著存放用戶編語言編寫的,模塊起著存放用戶編寫的寫的VBA代碼的作用。代碼的作用。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用一.模塊的分類 模塊有兩種基本類型:
3、標(biāo)準(zhǔn)模塊和類模塊。模塊有兩種基本類型:標(biāo)準(zhǔn)模塊和類模塊。1 1標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊 標(biāo)準(zhǔn)模塊包含通用過程和常用過程;標(biāo)準(zhǔn)模塊包含通用過程和常用過程; 供各個數(shù)據(jù)庫的對象使用,作用范圍在整個應(yīng)用程序中,供各個數(shù)據(jù)庫的對象使用,作用范圍在整個應(yīng)用程序中,生命周期是伴隨著應(yīng)用程序的運(yùn)行而開始、伴隨著應(yīng)用生命周期是伴隨著應(yīng)用程序的運(yùn)行而開始、伴隨著應(yīng)用程序的關(guān)閉而結(jié)束;程序的關(guān)閉而結(jié)束; 標(biāo)準(zhǔn)模塊具有全局特性。標(biāo)準(zhǔn)模塊具有全局特性。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用類模塊類模塊 類模塊是含有類定義的模塊,包括其屬性和方法的定義;類模塊是含有類定義的模塊,包括其屬性和方法的定義; 窗體模塊和報表模塊都
4、是類模塊,它們分別與某個窗體或窗體模塊和報表模塊都是類模塊,它們分別與某個窗體或報表相關(guān)聯(lián);報表相關(guān)聯(lián); 窗體模塊和報表模塊的作用范圍在其所屬的窗體或報表內(nèi)窗體模塊和報表模塊的作用范圍在其所屬的窗體或報表內(nèi)部,其生命周期是隨著窗體或報表的打開而開始,隨著窗部,其生命周期是隨著窗體或報表的打開而開始,隨著窗體或報表的關(guān)閉而結(jié)束;體或報表的關(guān)閉而結(jié)束; 窗體模塊和報表模塊具有局部特性。窗體模塊和報表模塊具有局部特性。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用二.宏與模塊 宏的操作功能,同樣可以在模塊對象中通過編寫宏的操作功能,同樣可以在模塊對象中通過編寫VBAVBA語句語句來實(shí)現(xiàn),也可以將已創(chuàng)建好的
5、宏轉(zhuǎn)換為等價的來實(shí)現(xiàn),也可以將已創(chuàng)建好的宏轉(zhuǎn)換為等價的VBAVBA模塊。模塊。1 1將宏轉(zhuǎn)換為模塊將宏轉(zhuǎn)換為模塊 轉(zhuǎn)換窗體或報表中的宏轉(zhuǎn)換窗體或報表中的宏 將全局宏轉(zhuǎn)換為模塊將全局宏轉(zhuǎn)換為模塊 . .宏與模塊的選擇宏與模塊的選擇 凡是宏無法實(shí)現(xiàn)的或者用宏實(shí)現(xiàn)起來比較繁瑣的功能,凡是宏無法實(shí)現(xiàn)的或者用宏實(shí)現(xiàn)起來比較繁瑣的功能,都可以通過都可以通過VBAVBA來完成。來完成。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用三.模塊的組成 模塊由聲明和過程兩個部分組成,一個模塊中模塊由聲明和過程兩個部分組成,一個模塊中有一個聲明區(qū)域和一個或多個過程,在聲明區(qū)域?qū)τ幸粋€聲明區(qū)域和一個或多個過程,在聲明區(qū)域?qū)^
6、程中用到的變量進(jìn)行聲明,過程是模塊的組成單過程中用到的變量進(jìn)行聲明,過程是模塊的組成單元,分為子元,分為子(Sub)過程和函數(shù)過程和函數(shù)(Function)兩類。兩類。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用四. 創(chuàng)建VBA模塊與編程環(huán)境 Access系統(tǒng)提供了一個編程界面系統(tǒng)提供了一個編程界面VBE(Visual Basic Editor)。在在VBE窗口可以完成窗口可以完成Access的模塊設(shè)計。的模塊設(shè)計。1進(jìn)入進(jìn)入VBE編程環(huán)境編程環(huán)境 進(jìn)入類模塊的方法進(jìn)入類模塊的方法 進(jìn)入標(biāo)準(zhǔn)模塊的方法進(jìn)入標(biāo)準(zhǔn)模塊的方法2VBE界面界面 VBE工具欄、工程窗口、屬性窗口、代碼窗口工具欄、工程窗口、屬
7、性窗口、代碼窗口第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 11.2 VBA編程基礎(chǔ)編程基礎(chǔ)第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用一.數(shù)據(jù)類型 VBA提供了較為完備的的數(shù)據(jù)類型,它包提供了較為完備的的數(shù)據(jù)類型,它包含了除含了除Access表中的表中的OLE對象和備注類型以外的對象和備注類型以外的其他所有數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和用戶其他所有數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型。自定義數(shù)據(jù)類型。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用二.常量 常量表示一個具體的、不變的值。常量表示一個具體的、不變的值。VBA的常量包括數(shù)的常量包括數(shù)值常量、字符常量、符號常量、系統(tǒng)常量和內(nèi)部常量值常量
8、、字符常量、符號常量、系統(tǒng)常量和內(nèi)部常量5種。種。其中數(shù)值常量和字符常量最常用。其中數(shù)值常量和字符常量最常用。 1數(shù)值常量數(shù)值常量 數(shù)值常量由數(shù)字等組成,數(shù)值常量由數(shù)字等組成,如:如:256、123.45、34.123 E-5 2字符常量字符常量 由定界符括起來的一串字符,由定界符括起來的一串字符,如:如:“Computer”、“ABC” “武漢武漢”第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用3符號常量符號常量 符號常量可用符號常量可用Const語句創(chuàng)建,格式:語句創(chuàng)建,格式: Const 符號常量名稱符號常量名稱=常量值常量值符號常量的名稱一般用大寫命名,以便和變量區(qū)分。符號常量的名稱一般用大
9、寫命名,以便和變量區(qū)分。如果在如果在Const前面加上前面加上Global或或Public,則定義的符號,則定義的符號常量就是全局符號常量,在所有的模塊中都可以使用。常量就是全局符號常量,在所有的模塊中都可以使用。 在定義符號常量時,不需要為常量指出數(shù)據(jù)類型,在定義符號常量時,不需要為常量指出數(shù)據(jù)類型,VBA會會自動按存儲效率最高的方式確定其數(shù)據(jù)類型。自動按存儲效率最高的方式確定其數(shù)據(jù)類型。 在程序運(yùn)行過程中對符號常量只能作讀取操作,而不能對在程序運(yùn)行過程中對符號常量只能作讀取操作,而不能對其進(jìn)行修改或重新賦值。其進(jìn)行修改或重新賦值。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用5內(nèi)部常量內(nèi)部常量
10、內(nèi)部常量是內(nèi)部常量是VBA預(yù)定義的內(nèi)部符號常量,所有內(nèi)部常量預(yù)定義的內(nèi)部符號常量,所有內(nèi)部常量均可在宏或均可在宏或VBA代碼中使用。代碼中使用。 內(nèi)部常量通過前兩個字母來指明定義該常量的對象庫。內(nèi)部常量通過前兩個字母來指明定義該常量的對象庫。來自來自Access庫的常量以庫的常量以“ac”開頭,例如開頭,例如acCmdSaveAs,來自來自ActiveX Data Objects(ADO)庫的常量以)庫的常量以“ad”開開頭,而來自頭,而來自VB庫的常量則以庫的常量則以“vb”開頭。開頭。4系統(tǒng)常量系統(tǒng)常量 系統(tǒng)常量是指系統(tǒng)常量是指Access啟動時自動建立的常量,包括啟動時自動建立的常量,包
11、括True、False、Yes、No、Off、On和和Null等,可以在等,可以在Access中的中的任何地方使用系統(tǒng)常量。任何地方使用系統(tǒng)常量。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用三.變量 變量是指在應(yīng)用過程中其值可以改變的量。變量是指在應(yīng)用過程中其值可以改變的量。1變量的命名規(guī)則變量的命名規(guī)則 變量名只能由字母、數(shù)字和下劃線組成;變量名只能由字母、數(shù)字和下劃線組成; 變量名只能以字母開頭;變量名只能以字母開頭; 變量名不能使用系統(tǒng)保留的關(guān)鍵字,例如變量名不能使用系統(tǒng)保留的關(guān)鍵字,例如PRINT、WHERE等;等; 在在VBA的變量名中不區(qū)分大小寫字母,例如的變量名中不區(qū)分大小寫字母,例
12、如ABC、abc或或abc表示同一個變量;表示同一個變量; 在在VBA中的過程名、符號常量名、自定義類型名、元素中的過程名、符號常量名、自定義類型名、元素名等在命名時都遵循以上的規(guī)則;名等在命名時都遵循以上的規(guī)則; 通常采用大小寫字母混合的方式,例如通常采用大小寫字母混合的方式,例如PhntText。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用2變量類型的定義變量類型的定義 根據(jù)對變量類型定義的方式不同可以將變量分為兩種根據(jù)對變量類型定義的方式不同可以將變量分為兩種形式。形式。(1) 隱含型變量隱含型變量 隱含型變量是指在使用變量時,在變量名之后添加不同隱含型變量是指在使用變量時,在變量名之后添加
13、不同的后綴表示變量的不同類型。的后綴表示變量的不同類型。 例如:例如:NewVar%=65 如果在變量名稱后面沒有添加后綴字符來指明隱含變量如果在變量名稱后面沒有添加后綴字符來指明隱含變量的類型時,系統(tǒng)會默認(rèn)為的類型時,系統(tǒng)會默認(rèn)為Variant數(shù)據(jù)類型。數(shù)據(jù)類型。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 (2) 顯式變量顯式變量 顯式變量是指在使用變量時要先定義,后使用,定義變量顯式變量是指在使用變量時要先定義,后使用,定義變量采用下面的方式:采用下面的方式: Dim 變量名變量名As 類型名類型名 例如:例如:Dim NewVar As Integer Dim MyName As Stri
14、ng*10 在一條在一條Dim語句中也可以定義多個變量語句中也可以定義多個變量 例如:例如:Dim Varl AS String,Var2 AS Double 在在Dim語句中省略了語句中省略了As和類型名時表示定義的是變體類型和類型名時表示定義的是變體類型 例如:例如:Dim Varl,Var2 As Double第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用3變量的作用域變量的作用域 作用域是指變量在程序中可使用的范圍,定義變量作用域是指變量在程序中可使用的范圍,定義變量的位置不同,其作用范圍也不同。根據(jù)變量的作用域,的位置不同,其作用范圍也不同。根據(jù)變量的作用域,可以將變量分為可以將變量分為3
15、類,分別是局部變量、模塊變量和全類,分別是局部變量、模塊變量和全局變量。局變量。(1)局部變量局部變量 指定義在模塊過程內(nèi)部的變量。局部變量的作用指定義在模塊過程內(nèi)部的變量。局部變量的作用域是它所在的過程,這樣,在不同的過程中就可以定域是它所在的過程,這樣,在不同的過程中就可以定義同名的變量,它們之間是相互獨(dú)立的。義同名的變量,它們之間是相互獨(dú)立的。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用(2) 模塊變量模塊變量 指在模塊的起始位置、所有過程之外定義的變量,指在模塊的起始位置、所有過程之外定義的變量,運(yùn)行時模塊所包含的所有子過程和函數(shù)中都可以使用運(yùn)行時模塊所包含的所有子過程和函數(shù)中都可以使用該
16、變量。該變量。4數(shù)據(jù)庫對象變量數(shù)據(jù)庫對象變量 窗體對象的引用格式如下:窗體對象的引用格式如下: Forms!窗體名稱窗體名稱!控件名稱控件名稱.屬性名稱屬性名稱 報表對象的引用格式如下:報表對象的引用格式如下: Repons!報表名稱報表名稱!控件名稱控件名稱.屬性名稱屬性名稱 上面的格式中如果省略了屬性名稱,則表示控件上面的格式中如果省略了屬性名稱,則表示控件的基本屬性。的基本屬性。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 例如,設(shè)置例如,設(shè)置“學(xué)生基本情況學(xué)生基本情況”窗體中窗體中“學(xué)號學(xué)號”文本框的屬文本框的屬性,用性,用VBA程序代碼表示如下:程序代碼表示如下: Forms!學(xué)生基本情
17、況學(xué)生基本情況!學(xué)號學(xué)號 = ”110501” 等價于:等價于:Forms!學(xué)生基本情況學(xué)生基本情況!學(xué)號學(xué)號.Value = ”110501” 下面使用下面使用Set建立控件對象的變量,這樣,在引用對象時就建立控件對象的變量,這樣,在引用對象時就很方便。很方便。 首先定義一個控件類型的變量:首先定義一個控件類型的變量: Dim txtName AS Control 然后為該變量指定窗體控件對象:然后為該變量指定窗體控件對象: Set txtName = Forms!學(xué)生基本情況學(xué)生基本情況!學(xué)號學(xué)號 以后就可以使用下面的方法引用對象了:以后就可以使用下面的方法引用對象了: txtName =
18、 ”110501”第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用四.運(yùn)算符與表達(dá)式 表達(dá)式是指用運(yùn)算符將常量、變量和函數(shù)連接起來表達(dá)式是指用運(yùn)算符將常量、變量和函數(shù)連接起來的有意義的式子。的有意義的式子。VBA中有算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、中有算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、連接運(yùn)算符和對象運(yùn)算符。邏輯運(yùn)算符、連接運(yùn)算符和對象運(yùn)算符。 1算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式 包括乘冪包括乘冪“”、乘法、乘法“*”、除法、除法“”、整數(shù)除法、整數(shù)除法“”、求模、求?!癕od”、加法、加法“+”和減法和減法“”7個運(yùn)算符。個運(yùn)算符。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 2關(guān)系運(yùn)算符關(guān)系表達(dá)
19、式關(guān)系運(yùn)算符關(guān)系表達(dá)式 用來表示兩個值或表達(dá)式之間的大小關(guān)系,有用來表示兩個值或表達(dá)式之間的大小關(guān)系,有相等相等 =、不等、不等 、大于、大于 、大于等于、大于等于 =、小于、小于 、小于等于小于等于 = 6個運(yùn)算符。比較運(yùn)算的結(jié)果為邏輯值,個運(yùn)算符。比較運(yùn)算的結(jié)果為邏輯值,分別是分別是True(真真)和和False(假假)。 3邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式 邏輯運(yùn)算符有邏輯與邏輯運(yùn)算符有邏輯與 AND、邏輯或、邏輯或 OR 和邏輯和邏輯非非 NOT 3個運(yùn)算符。個運(yùn)算符。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用ABNOT AA AND BA OR BTrueTrueFalse
20、TrueTrueTrueFalseFalseFalseTrueFalseTrueTrueFalseTrueFalseFalseTrueFalseFalse 優(yōu)先級順序依次為:優(yōu)先級順序依次為:NOT AND OR 由邏輯量構(gòu)成的表達(dá)式進(jìn)行算術(shù)運(yùn)算時,由邏輯量構(gòu)成的表達(dá)式進(jìn)行算術(shù)運(yùn)算時,True值當(dāng)值當(dāng)成成-1,F(xiàn)alse的值當(dāng)作的值當(dāng)作0來處理來處理第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用4連接運(yùn)算符連接運(yùn)算符 將兩個字符串連接,連接運(yùn)算符有將兩個字符串連接,連接運(yùn)算符有 + 和和 & 兩個。兩個。 + 運(yùn)算符:當(dāng)兩個運(yùn)算量都是字符串?dāng)?shù)據(jù)時,將其連接運(yùn)算符:當(dāng)兩個運(yùn)算量都是字符串?dāng)?shù)據(jù)時
21、,將其連接成一個新的字符串。成一個新的字符串。 & 運(yùn)算符:對兩個表達(dá)式強(qiáng)制進(jìn)行連接。運(yùn)算符:對兩個表達(dá)式強(qiáng)制進(jìn)行連接。 例如:例如: abc + xyz 結(jié)果是結(jié)果是abcxyz 2+3 & = & (2+3) 結(jié)果是結(jié)果是2+3=5。 以上的以上的4類運(yùn)算符優(yōu)先級從高到低的順序是算術(shù)運(yùn)算符、類運(yùn)算符優(yōu)先級從高到低的順序是算術(shù)運(yùn)算符、連接運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符。連接運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用5對象運(yùn)算符與對象運(yùn)算表達(dá)式對象運(yùn)算符與對象運(yùn)算表達(dá)式 VBA中有各種對象,包括表、查詢、窗體、報表等。窗體中有各種對象,包括
22、表、查詢、窗體、報表等。窗體上的控件,如文本框、命令按鈕等都是對象。所謂對象表上的控件,如文本框、命令按鈕等都是對象。所謂對象表達(dá)式是指用來說明具體對象的表達(dá)式。對象表達(dá)式中使用達(dá)式是指用來說明具體對象的表達(dá)式。對象表達(dá)式中使用“!”和和“.”兩種運(yùn)算符。兩種運(yùn)算符。 !運(yùn)算符的作用是指明隨后用戶定義的內(nèi)容。使用!運(yùn)算運(yùn)算符的作用是指明隨后用戶定義的內(nèi)容。使用!運(yùn)算符可以引用一個已經(jīng)打開的窗體、報表或其上的控件,也符可以引用一個已經(jīng)打開的窗體、報表或其上的控件,也可以在表達(dá)式中引用一個對象或?qū)ο蟮膶傩?。可以在表達(dá)式中引用一個對象或?qū)ο蟮膶傩浴?例如:例如:Forms!學(xué)生基本情況學(xué)生基本情況!
23、學(xué)號學(xué)號 點(diǎn)運(yùn)算符(點(diǎn)運(yùn)算符(.)通常指出隨后為)通常指出隨后為Access定義的內(nèi)容。使用定義的內(nèi)容。使用. 運(yùn)運(yùn)算符可引用窗體、報表或控件等對象的屬性。例如:算符可引用窗體、報表或控件等對象的屬性。例如:Repons!學(xué)生成績單學(xué)生成績單!學(xué)號學(xué)號.Visible第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用五.屬性、方法和事件 屬性屬性、方法方法和和事件事件構(gòu)成了對象的基本元素,創(chuàng)建了構(gòu)成了對象的基本元素,創(chuàng)建了一個對象后,對一個一個對象后,對一個對象對象的操作是通過與該對象有關(guān)的的操作是通過與該對象有關(guān)的屬性、方法和事件來描述的屬性、方法和事件來描述的 1屬性屬性 屬性屬性描述了描述了對象的
24、性質(zhì)對象的性質(zhì),例如,標(biāo)簽對象中的字體,例如,標(biāo)簽對象中的字體名稱、字體大小。對象的屬性可以通過名稱、字體大小。對象的屬性可以通過“屬性屬性”對話框?qū)υ捒蜻M(jìn)行設(shè)置,也可以通過編程設(shè)置。用進(jìn)行設(shè)置,也可以通過編程設(shè)置。用VBA程序代碼設(shè)置程序代碼設(shè)置屬性的一般格式為:屬性的一般格式為: 對象名對象名.屬性名屬性名=屬性值屬性值第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 2方法方法 對象的對象的方法方法描述了對象的行為,即在特定的對象上描述了對象的行為,即在特定的對象上執(zhí)行的一種特殊的過程或函數(shù)。方法通常在代碼中使用,執(zhí)行的一種特殊的過程或函數(shù)。方法通常在代碼中使用,其格式為:其格式為: 對象名對象
25、名.方法方法 3事件事件 事件事件是由是由Access定義好的,可以被對象識別的動作,定義好的,可以被對象識別的動作,例如,命令按鈕就具有單擊、雙擊等事件,事件通常由例如,命令按鈕就具有單擊、雙擊等事件,事件通常由VBA的子過程或函數(shù)過程實(shí)現(xiàn)。的子過程或函數(shù)過程實(shí)現(xiàn)。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用六.常用的事件 在在Access系統(tǒng)中,常用事件有:鼠標(biāo)事件、鍵盤事件、系統(tǒng)中,常用事件有:鼠標(biāo)事件、鍵盤事件、窗口事件、對象事件和操作事件等。窗口事件、對象事件和操作事件等。1鼠標(biāo)常用事件鼠標(biāo)常用事件(1)Click事件:每單擊一次鼠標(biāo),激發(fā)一次該事件;事件:每單擊一次鼠標(biāo),激發(fā)一次該事件
26、;(2)Dblelick事件:每雙擊一次鼠標(biāo),激發(fā)一次該事件;事件:每雙擊一次鼠標(biāo),激發(fā)一次該事件;(3)MouseMove事件:移動鼠標(biāo)所激發(fā)的事件;事件:移動鼠標(biāo)所激發(fā)的事件;(4)MouseUp事件:釋放鼠標(biāo)所激發(fā)的事件;事件:釋放鼠標(biāo)所激發(fā)的事件;(5)MouseDown事件:按下鼠標(biāo)所激發(fā)的事件。事件:按下鼠標(biāo)所激發(fā)的事件。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用2鍵盤常用事件鍵盤常用事件(1)KeyPress事件:每敲擊一次鍵盤,激發(fā)一次該事件;事件:每敲擊一次鍵盤,激發(fā)一次該事件;(2)KeyDown事件:每按下一個鍵,激發(fā)一次該事件;事件:每按下一個鍵,激發(fā)一次該事件;(3)K
27、eyUp事件:每釋放一個鍵,激發(fā)一次該事件。事件:每釋放一個鍵,激發(fā)一次該事件。3窗體常用事件窗體常用事件(1)Open事件:打開窗體事件;事件:打開窗體事件;(2)Load事件:加載窗體事件;事件:加載窗體事件;(3)Resize事件:重繪窗體事件;事件:重繪窗體事件;(4)Active事件:激活窗體事件;事件:激活窗體事件;(5)Unload事件:卸載窗體事件;事件:卸載窗體事件;(6)Close事件:關(guān)閉窗體事件。事件:關(guān)閉窗體事件。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用4對象常用事件對象常用事件(1)GotFocus事件:獲得焦點(diǎn)事件;事件:獲得焦點(diǎn)事件;(2)LostFocus事件
28、:失去焦點(diǎn)事件;事件:失去焦點(diǎn)事件;(3)BeforeUpdate事件:更新前事件;事件:更新前事件;(4)AfterUpdate事件:更新后事件;事件:更新后事件;(6)Chang事件:更改事件。事件:更改事件。5操作常用事件操作常用事件(1)Delete事件:刪除事件;事件:刪除事件;(2)BeforeInsert事件:插入前事件;事件:插入前事件;(3)AfterInsert事件:插入后事件。事件:插入后事件。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用七七. . DOCmd對象及其常用的方法 在在Access系統(tǒng)中,常用事件有:鼠標(biāo)事件、鍵盤事件、系統(tǒng)中,常用事件有:鼠標(biāo)事件、鍵盤事件、窗
29、口事件、對象事件和操作事件等。窗口事件、對象事件和操作事件等。1DoCmd對象對象 通過該對象,可以調(diào)用通過該對象,可以調(diào)用Access內(nèi)部的方法,這樣就可以在內(nèi)部的方法,這樣就可以在VBA程序中實(shí)現(xiàn)對數(shù)據(jù)庫進(jìn)行操作。程序中實(shí)現(xiàn)對數(shù)據(jù)庫進(jìn)行操作。 用用DoCmd調(diào)用方法的格式如下:調(diào)用方法的格式如下: DoCmd.方法名方法名 參數(shù)表參數(shù)表第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用2DoCmd常用的方法常用的方法 DoCmd常用的方法包括打開窗體、報表、表和查詢常用的方法包括打開窗體、報表、表和查詢等對象,以及關(guān)閉這些對象;等對象,以及關(guān)閉這些對象; DoCmd對象的大多數(shù)方法都有參數(shù),有些參數(shù)
30、是必對象的大多數(shù)方法都有參數(shù),有些參數(shù)是必需的,而有些參數(shù)可選的。需的,而有些參數(shù)可選的。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用(1)打開窗體操作)打開窗體操作 DoCmd.OpenForm formname,view,filtemame,wherecondition,datamode ,windowmode,openargs(2)打開報表操作)打開報表操作 打開報表使用打開報表使用OpenReport方法,命令格式如下:方法,命令格式如下: DoCmd.OpenReport reportname,view,filtername,wherecondition第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建
31、與使用(3)打開表操作)打開表操作 打開表使用打開表使用OpenTable方法,格式如下:方法,格式如下: DoCmd.OpenTable tablename,view,datamode(4)打開查詢操作)打開查詢操作 打開查詢的操作格式如下:打開查詢的操作格式如下: DoCmd.OpenQuery queryname,view,datamode(5)關(guān)閉對象操作)關(guān)閉對象操作 Close方法用來關(guān)閉對象,命令格式如下:方法用來關(guān)閉對象,命令格式如下: DoCmd.Closeobjecttype,objectname, save第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 11.3 VBA的程序結(jié)
32、構(gòu)的程序結(jié)構(gòu)第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用一. 語句一個程序由若干條語句構(gòu)成,一條語句是可以完成某個一個程序由若干條語句構(gòu)成,一條語句是可以完成某個操作的一條命令,按功能不同,可以將語句分為兩類;操作的一條命令,按功能不同,可以將語句分為兩類; 聲明語旬:聲明語旬:用于定義變量、常量或過程用于定義變量、常量或過程 執(zhí)行語句:執(zhí)行語句:用于執(zhí)行賦值操作、調(diào)用過程、實(shí)現(xiàn)各種流用于執(zhí)行賦值操作、調(diào)用過程、實(shí)現(xiàn)各種流程控制。程控制。根據(jù)流程控制的不同,執(zhí)行語句可以構(gòu)成以下根據(jù)流程控制的不同,執(zhí)行語句可以構(gòu)成以下3種結(jié)構(gòu):種結(jié)構(gòu): 順序結(jié)構(gòu):順序結(jié)構(gòu):按照語句的先后順序集資執(zhí)行。按照語句的先后
33、順序集資執(zhí)行。 分支結(jié)構(gòu):分支結(jié)構(gòu):又稱為條件結(jié)構(gòu)或選擇結(jié)構(gòu),是根據(jù)條件選又稱為條件結(jié)構(gòu)或選擇結(jié)構(gòu),是根據(jù)條件選擇執(zhí)行不同的分支。擇執(zhí)行不同的分支。 循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu):是根據(jù)某個條件重復(fù)執(zhí)行某一段程序語句。是根據(jù)某個條件重復(fù)執(zhí)行某一段程序語句。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用1VBA程序的書寫格式程序的書寫格式在書寫程序時,要遵循下面的規(guī)則:在書寫程序時,要遵循下面的規(guī)則:習(xí)慣上將一條語句寫在一行。習(xí)慣上將一條語句寫在一行。如果一條語句較長、一行寫不下時,可以將語句寫在連如果一條語句較長、一行寫不下時,可以將語句寫在連續(xù)的多行,除了最后一行之外,前面每一行的行末要使續(xù)的多行,除了最后
34、一行之外,前面每一行的行末要使用續(xù)行符用續(xù)行符“_”。幾條語句寫在一行時,可以使用冒號幾條語句寫在一行時,可以使用冒號 : 分隔各條語句。分隔各條語句。2注釋語句注釋語句在在VBA程序中,可以使用兩種方法為程序添加注釋。程序中,可以使用兩種方法為程序添加注釋。使用使用Rem語句,其格式為:語句,其格式為:Rem 注釋內(nèi)容注釋內(nèi)容在某條語句之后加上英文的在某條語句之后加上英文的單引號單引號,單引號之后的內(nèi)容,單引號之后的內(nèi)容為注釋內(nèi)容。為注釋內(nèi)容。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用3聲明語句聲明語句 聲明語句用來定義和命名變量、符號常量和過程,在定聲明語句用來定義和命名變量、符號常量和過程
35、,在定義這些內(nèi)容的同時,也定義了它們的作用范圍。義這些內(nèi)容的同時,也定義了它們的作用范圍。4賦值語句賦值語句 賦值語句用來為變量指定一個值,它的格式如下:賦值語句用來為變量指定一個值,它的格式如下: 變量名變量名 = 值值或或表達(dá)式表達(dá)式 該語句的執(zhí)行過程是:先計算表達(dá)式,然后將其值賦該語句的執(zhí)行過程是:先計算表達(dá)式,然后將其值賦給變量。給變量。 為對象的屬性賦值,使用的格式如下:為對象的屬性賦值,使用的格式如下: 對象名對象名屬性屬性 = 屬性值屬性值第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用二.數(shù)據(jù)的輸入輸出InputBox函數(shù)函數(shù) 說明:說明:使用輸入對話框來輸入數(shù)據(jù),輸入對話框中包含文本
36、框、提使用輸入對話框來輸入數(shù)據(jù),輸入對話框中包含文本框、提示信息和命令按鈕。示信息和命令按鈕。 函數(shù)格式:函數(shù)格式:InputBox( PromptTitle,Default,Xpos,Ypos ) 各參數(shù)的含義如下:各參數(shù)的含義如下: Prompt:顯示在對話框中的提示字符串。:顯示在對話框中的提示字符串。 Title:顯示在對話框標(biāo)題欄中的內(nèi)容。:顯示在對話框標(biāo)題欄中的內(nèi)容。 Default:在沒有輸入數(shù)據(jù)時,顯示文本框中的默認(rèn)值。:在沒有輸入數(shù)據(jù)時,顯示文本框中的默認(rèn)值。 Xpos:對話框右側(cè)與屏幕左側(cè)的水平距離,默認(rèn)時對話框在水平方:對話框右側(cè)與屏幕左側(cè)的水平距離,默認(rèn)時對話框在水平方
37、向居中。向居中。 Ypos:對話框上側(cè)與屏幕上邊的垂直距離,默認(rèn)時對話框放置在垂:對話框上側(cè)與屏幕上邊的垂直距離,默認(rèn)時對話框放置在垂直方向距下邊約直方向距下邊約1/3的位置。的位置。 函數(shù)的返回值就是用戶在對話框中輸入的字符型數(shù)據(jù)。函數(shù)的返回值就是用戶在對話框中輸入的字符型數(shù)據(jù)。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用MsgBox函數(shù)函數(shù) 消息框是一種對話框,可以用來顯示警告信息或其他的提示消息框是一種對話框,可以用來顯示警告信息或其他的提示信息,一個消息框由:標(biāo)題、提示信息、圖標(biāo)和命令按鈕信息,一個消息框由:標(biāo)題、提示信息、圖標(biāo)和命令按鈕4個個部分組成。部分組成。 函數(shù)格式:函數(shù)格式:Ms
38、gBox( Prompt,Buttons,Title ) 各參數(shù)的含義如下:各參數(shù)的含義如下: Prompt:顯示在對話框中的提示字符串。:顯示在對話框中的提示字符串。 Title:顯示在對話框標(biāo)題欄中的提示字符串。:顯示在對話框標(biāo)題欄中的提示字符串。 Buttons:為整型參數(shù),該參數(shù)可以使用:為整型參數(shù),該參數(shù)可以使用3組組vb常量,分別設(shè)常量,分別設(shè)定要顯示的按鈕類型和數(shù)目、出現(xiàn)在消息框中的圖標(biāo)樣式及定要顯示的按鈕類型和數(shù)目、出現(xiàn)在消息框中的圖標(biāo)樣式及默認(rèn)按鈕是哪一個。默認(rèn)按鈕是哪一個。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用三.程序流程控制1順序結(jié)構(gòu)順序結(jié)構(gòu) 簡單的程序大多為順序結(jié)構(gòu),
39、整個程序按書寫順序依次執(zhí)行。簡單的程序大多為順序結(jié)構(gòu),整個程序按書寫順序依次執(zhí)行。2分支結(jié)構(gòu)分支結(jié)構(gòu) 在在VBA中,構(gòu)成分支結(jié)構(gòu)的語句有中,構(gòu)成分支結(jié)構(gòu)的語句有If語句和語句和Select語句。語句。(1)簡單分支語句)簡單分支語句 語法格式如下:語法格式如下: If Then End If 功能:功能:如果條件為真,執(zhí)行如果條件為真,執(zhí)行Then下面的語句序列,如果條件為假,下面的語句序列,如果條件為假,則直接執(zhí)行則直接執(zhí)行End If后面的語句。后面的語句。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用(2)選擇分支語句)選擇分支語句 If Then Else End If(3)多重選擇分支語句
40、)多重選擇分支語句 If Then ElseIf Then ElseIf Then Else End If功能:功能:如果條件為真,執(zhí)行如果條件為真,執(zhí)行Then下面的語句序列下面的語句序列1,如果條,如果條件為假,則執(zhí)行件為假,則執(zhí)行Else下面的下面的語句序列語句序列2。功能:功能:如果條件如果條件1為真,執(zhí)行為真,執(zhí)行Then下面的語句序列下面的語句序列1,如果條,如果條件為假,則繼續(xù)判斷條件件為假,則繼續(xù)判斷條件2,若為真,執(zhí)行語句序列若為真,執(zhí)行語句序列2,否則繼續(xù)判斷下一個條件。否則繼續(xù)判斷下一個條件。如此下去,若前面的條件均如此下去,若前面的條件均不成立,則檢查有無不成立,則檢查
41、有無Else語語句,若有,則無條件執(zhí)行句,若有,則無條件執(zhí)行Else下面的語句序列,若無,下面的語句序列,若無,則什么都不執(zhí)行,程序直接則什么都不執(zhí)行,程序直接跳轉(zhuǎn)到跳轉(zhuǎn)到End If之后。之后。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用(4)多重分支語句)多重分支語句Select Case 測試表達(dá)式測試表達(dá)式Case 表達(dá)式列表表達(dá)式列表l 語句序列語句序列1Case 表達(dá)式列表表達(dá)式列表2語句序列語句序列2 Case 表達(dá)式列表表達(dá)式列表n 語句序列語句序列nCase Else 語句序列語句序列n+l End Select功能:功能:Case語句的匹配測試是按順語句的匹配測試是按順序進(jìn)行的
42、,如果有多個分支的序進(jìn)行的,如果有多個分支的值與測試表達(dá)式相匹配,則只值與測試表達(dá)式相匹配,則只執(zhí)行第一個相匹配的執(zhí)行第一個相匹配的Case下面下面的語句序列,其他符合條件的的語句序列,其他符合條件的分支不會再執(zhí)行。如果沒有找分支不會再執(zhí)行。如果沒有找到匹配的條件,則到匹配的條件,則VBA執(zhí)行執(zhí)行Case Else子句(此項(xiàng)是可選的)子句(此項(xiàng)是可選的)中的語句。中的語句。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 在在VBA中可以使用中可以使用DoLoop與與ForNext實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。(1)DoLoop 循環(huán)語句循環(huán)語句 DO While 條件式條件式 循環(huán)體
43、循環(huán)體 Exit DO Loop語句的執(zhí)行過程如下:語句的執(zhí)行過程如下: 計算計算“條件式條件式”,當(dāng),當(dāng)“條件式條件式”為真時執(zhí)行為真時執(zhí)行,否則,結(jié)束循,否則,結(jié)束循環(huán)。環(huán)。 執(zhí)行循環(huán)體。執(zhí)行循環(huán)體。 遇到遇到Loop跳轉(zhuǎn)到跳轉(zhuǎn)到 。 在循環(huán)體中可以有條件地使用在循環(huán)體中可以有條件地使用Exit Do語句,目的是使循環(huán)提前語句,目的是使循環(huán)提前 結(jié)束并退出循環(huán)。結(jié)束并退出循環(huán)。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 DO Until 條件式條件式 循環(huán)體循環(huán)體 Exit DO Loop 語句的執(zhí)行過程與語句的執(zhí)行過程與DoWhileLoop語句相似,唯一不同的語句相似,唯一不同的是,在該
44、結(jié)構(gòu)中,當(dāng)條件式的值為假時重復(fù)執(zhí)行循環(huán),直到是,在該結(jié)構(gòu)中,當(dāng)條件式的值為假時重復(fù)執(zhí)行循環(huán),直到條件式為真時結(jié)束循環(huán)。條件式為真時結(jié)束循環(huán)。 上面兩種格式的共同特點(diǎn)是先判斷條件式,后執(zhí)行循環(huán)體,上面兩種格式的共同特點(diǎn)是先判斷條件式,后執(zhí)行循環(huán)體,也可以將這兩種結(jié)構(gòu)中的條件式放在循環(huán)結(jié)構(gòu)的末尾,即先也可以將這兩種結(jié)構(gòu)中的條件式放在循環(huán)結(jié)構(gòu)的末尾,即先執(zhí)行后判斷,這樣,執(zhí)行后判斷,這樣,DoLoop語句又有下面兩種演變形式。語句又有下面兩種演變形式。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用DoWhileLoop 形式的另一種寫法如下:形式的另一種寫法如下: DO 循環(huán)體循環(huán)體 Exit DO Lo
45、op While 條件式條件式DoUntilLoop形式的另一種寫法如下:形式的另一種寫法如下: DO 循環(huán)體循環(huán)體 Exit DO Loop Until 條件式條件式 這兩種演變格式保證循環(huán)體至少執(zhí)行一次。這兩種演變格式保證循環(huán)體至少執(zhí)行一次。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用(2)ForNext循環(huán)語句循環(huán)語句 DoLoop循環(huán)適用于循環(huán)次數(shù)無法預(yù)先確定的循環(huán)應(yīng)用。對循環(huán)適用于循環(huán)次數(shù)無法預(yù)先確定的循環(huán)應(yīng)用。對于循環(huán)次數(shù)可以預(yù)先確定的循環(huán)應(yīng)用,則可以采用于循環(huán)次數(shù)可以預(yù)先確定的循環(huán)應(yīng)用,則可以采用ForNext循環(huán),它有利于程序的清晰與可讀性。循環(huán),它有利于程序的清晰與可讀性。 Fo
46、rNext語句的語法格式如下:語句的語法格式如下: For 循環(huán)變量循環(huán)變量 = 初值初值 TO 終值終值 Step步長步長 循環(huán)體循環(huán)體 Exit For Next 循環(huán)變量循環(huán)變量第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用For語句的執(zhí)行過程如下:語句的執(zhí)行過程如下: 循環(huán)變量取初值。循環(huán)變量取初值。 檢查循環(huán)變量的值是否超過終值,若未超過終值,循環(huán)繼續(xù)檢查循環(huán)變量的值是否超過終值,若未超過終值,循環(huán)繼續(xù) 執(zhí)行執(zhí)行;若超過終值,則跳過循環(huán)體,轉(zhuǎn)而執(zhí)行;若超過終值,則跳過循環(huán)體,轉(zhuǎn)而執(zhí)行Next后面的后面的 語句。語句。 執(zhí)行循環(huán)體。執(zhí)行循環(huán)體。 循環(huán)變量增加一個步長值,程序跳轉(zhuǎn)到循環(huán)變量增加
47、一個步長值,程序跳轉(zhuǎn)到。注注:如果步長為:如果步長為1,則關(guān)鍵字,則關(guān)鍵字Step和步長都可以省略,如果終值小和步長都可以省略,如果終值小于初值,步長應(yīng)為負(fù)值,否則循環(huán)體一次也不執(zhí)行。于初值,步長應(yīng)為負(fù)值,否則循環(huán)體一次也不執(zhí)行。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用四. VBA程序的調(diào)試在在VBE中,程序錯誤大致分為兩類,一類是語法中,程序錯誤大致分為兩類,一類是語法錯誤,一類是邏輯錯誤。錯誤,一類是邏輯錯誤。 1調(diào)試工具調(diào)試工具 2設(shè)置斷點(diǎn)設(shè)置斷點(diǎn) 3單步跟蹤單步跟蹤 4使用不同的調(diào)試窗口使用不同的調(diào)試窗口第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用 11.4 過程定義和調(diào)用過程定義和調(diào)用
48、VBA使用的過程有子(使用的過程有子(Sub)過程、函數(shù))過程、函數(shù)(Function)過程和屬性()過程和屬性(Property)過程。)過程。 第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用一.子過程的定義和調(diào)用1子過程的定義子過程的定義 子過程的定義使用子過程的定義使用Sub語句,定義格式:語句,定義格式: Public|PrivateStaticSub子過程名(形式參數(shù)子過程名(形式參數(shù) ) 子過程語句子過程語句 Exit Sub 子過程語句子過程語句 End Sub 第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用一.子過程的定義和調(diào)用說明:說明:使用使用Public表示該過程可以被任何模塊中的任
49、何過程訪表示該過程可以被任何模塊中的任何過程訪問,使用問,使用Private時,表示該過程只能在聲明它的模塊中時,表示該過程只能在聲明它的模塊中使用。使用。使用使用Static時,表示在兩次調(diào)用之間保留過程中的局部變時,表示在兩次調(diào)用之間保留過程中的局部變量的值。量的值。形式參數(shù)簡稱形式參數(shù)簡稱形參形參,用來接收調(diào)用過程時由實(shí)參傳遞過,用來接收調(diào)用過程時由實(shí)參傳遞過來的參數(shù)。如果有多個形參,則參數(shù)之間用逗號分開。來的參數(shù)。如果有多個形參,則參數(shù)之間用逗號分開。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用2子過程的調(diào)用子過程的調(diào)用 子過程的調(diào)用可以使用兩種形式:子過程的調(diào)用可以使用兩種形式: Cal
50、l子過程名子過程名 (實(shí)際參數(shù)實(shí)際參數(shù)) 或或: 子過程名子過程名 實(shí)際參數(shù)實(shí)際參數(shù) 實(shí)際參數(shù)簡稱實(shí)際參數(shù)簡稱實(shí)參實(shí)參,是傳遞給形參的數(shù)據(jù)。,是傳遞給形參的數(shù)據(jù)。如果使用如果使用Call來調(diào)用一個需要參數(shù)的過程,則形參要放在來調(diào)用一個需要參數(shù)的過程,則形參要放在括號中,如果省略了關(guān)鍵字括號中,如果省略了關(guān)鍵字Call,則形參外面的括號也必,則形參外面的括號也必須省略。須省略。每調(diào)用一次過程,每調(diào)用一次過程,Sub與與End Sub之間的語句就執(zhí)行一次之間的語句就執(zhí)行一次第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用1函數(shù)過程的定義函數(shù)過程的定義 Public|PrivateStatic Functi
51、on 函數(shù)過程名(形參函數(shù)過程名(形參 ) As 數(shù)據(jù)類型數(shù)據(jù)類型 函數(shù)過程語句函數(shù)過程語句 函數(shù)過程名函數(shù)過程名 = 表達(dá)式表達(dá)式Exit Function 函數(shù)過程語句函數(shù)過程語句 函數(shù)過程名函數(shù)過程名 = 表達(dá)式表達(dá)式End Function 二.函數(shù)過程的定義和調(diào)用第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用說明:說明:其中的其中的Public、Private和和Static的作用與的作用與Sub過程中是過程中是一樣的。一樣的。格式中的格式中的As 數(shù)據(jù)類型數(shù)據(jù)類型用來指定函數(shù)返回值的類型。用來指定函數(shù)返回值的類型。格式中的格式中的函數(shù)過程名函數(shù)過程名 = 表達(dá)式表達(dá)式用來定義函數(shù)返回的用
52、來定義函數(shù)返回的值。值。二.函數(shù)過程的定義和調(diào)用第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用2函數(shù)過程的調(diào)用函數(shù)過程的調(diào)用 函數(shù)過程的調(diào)用只能使用一種形式:函數(shù)過程的調(diào)用只能使用一種形式: 函數(shù)過程名函數(shù)過程名(實(shí)際參數(shù)實(shí)際參數(shù)) 由于函數(shù)有返回值,實(shí)際使用函數(shù)調(diào)用時,通過有兩種由于函數(shù)有返回值,實(shí)際使用函數(shù)調(diào)用時,通過有兩種 用法用法: : (1) (1) 將返回值賦給某個變量,格式:將返回值賦給某個變量,格式: 變量名變量名 = = 函數(shù)過程名函數(shù)過程名(實(shí)際參數(shù)實(shí)際參數(shù)) (2) (2) 將函數(shù)的返回值作為另一個過程調(diào)用中的實(shí)參。將函數(shù)的返回值作為另一個過程調(diào)用中的實(shí)參。第第9章章 宏的創(chuàng)建
53、與使用宏的創(chuàng)建與使用 11.5 VBA的數(shù)據(jù)庫編程的數(shù)據(jù)庫編程 使用使用VBA訪問數(shù)據(jù)庫,目的是為了更快速、訪問數(shù)據(jù)庫,目的是為了更快速、更有效地管理數(shù)據(jù),開發(fā)更實(shí)用的應(yīng)用程序,這就更有效地管理數(shù)據(jù),開發(fā)更實(shí)用的應(yīng)用程序,這就是是VBA的數(shù)據(jù)庫編程。的數(shù)據(jù)庫編程。第第9章章 宏的創(chuàng)建與使用宏的創(chuàng)建與使用一.數(shù)據(jù)庫引擎及其接口數(shù)據(jù)庫引擎是一組動態(tài)鏈接庫數(shù)據(jù)庫引擎是一組動態(tài)鏈接庫(DLL),當(dāng)程序運(yùn)行時,當(dāng)程序運(yùn)行時,被連接到被連接到VBA程序而實(shí)現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的訪問功能。程序而實(shí)現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的訪問功能。數(shù)據(jù)庫引擎是一種通用的接口方式,是應(yīng)用程序與數(shù)據(jù)數(shù)據(jù)庫引擎是一種通用的接口方式,是應(yīng)用程序與數(shù)據(jù)庫之間的橋
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年筆記本電腦借用協(xié)議3篇
- 2024標(biāo)準(zhǔn)房屋場地租賃合同范本
- 2024年賽事策劃與執(zhí)行合同
- 2024正規(guī)保潔員培訓(xùn)與勞動合同3篇
- 2025年度旅游區(qū)蟲害防治與游客安全保障合同3篇
- 2024年高清晰相機(jī)選購合同3篇
- 2024年藥品研發(fā)與許可協(xié)議3篇
- 浙江工業(yè)大學(xué)《自動變速器》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024無子女夫妻自愿離婚協(xié)議書:離婚后共同房產(chǎn)處理與歸屬3篇
- 舞蹈服務(wù)員工作總結(jié)
- 常見酸和堿說課課件
- 2023-2024學(xué)年湖北省利川市小學(xué)語文六年級期末通關(guān)測試題詳細(xì)參考答案解析
- 礦大畢業(yè)設(shè)計-固定式帶式輸送機(jī)設(shè)計
- 高考地理一輪復(fù)習(xí)課件+湖泊的水文特征
- 熱動復(fù)習(xí)題材料熱力學(xué)與動力學(xué)
- GB/T 19405.1-2003表面安裝技術(shù)第1部分:表面安裝元器件(SMDS)規(guī)范的標(biāo)準(zhǔn)方法
- GB/T 13275-1991一般用途離心通風(fēng)機(jī)技術(shù)條件
- 彈塑性力學(xué)(浙江大學(xué)課件)
- 千年菩提路解說詞
- 濰柴天然氣發(fā)動機(jī)維修手冊
- 配氣機(jī)構(gòu)的設(shè)計
評論
0/150
提交評論