數(shù)據(jù)庫原理及應用課件:第5章-ACCESS-數(shù)據(jù)庫-面向對象的程序設計語言(VBA)_第1頁
數(shù)據(jù)庫原理及應用課件:第5章-ACCESS-數(shù)據(jù)庫-面向對象的程序設計語言(VBA)_第2頁
數(shù)據(jù)庫原理及應用課件:第5章-ACCESS-數(shù)據(jù)庫-面向對象的程序設計語言(VBA)_第3頁
數(shù)據(jù)庫原理及應用課件:第5章-ACCESS-數(shù)據(jù)庫-面向對象的程序設計語言(VBA)_第4頁
數(shù)據(jù)庫原理及應用課件:第5章-ACCESS-數(shù)據(jù)庫-面向對象的程序設計語言(VBA)_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數(shù)據(jù)庫原理與應用第5章ACCESS數(shù)據(jù)庫—面向對象的程序設計語言(VBA)10/17/20241本節(jié)要求理解VBA編程基礎的基本概念。掌握創(chuàng)建和設計VBA程序。掌握程序的三種控制結構。掌握VBA中的過程。了解VBA程序調試與運行。10/17/202425.8面向對象的程序設計語言—VBA1、VBA編程的基本概念

VBA(VisualBasicforApplications)是在office中開發(fā)高級應用所使用的一個通用程序語言,它可以共享microsoft各種相關的重要軟件。面向對象的編程思想(了解):面向對象技術(OOP)是一種新的軟件開發(fā)技術,其概念來源于程序設計。是一種以對象為基礎,以事件或消息來驅動對象執(zhí)行處理的程序設計技術。10/17/20243(1)面向對象基本概念面向對象技術以數(shù)據(jù)為中心而不是以功能為中心來描述系統(tǒng),數(shù)據(jù)相對于功能而言更具有穩(wěn)定性。它將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起,作為一個整體來處理,采用數(shù)據(jù)抽象和信息隱蔽技術,將這個整體抽象成一種新的數(shù)據(jù)類型—類。類(Class)—是創(chuàng)建對象的模板,是一組具有相同屬性和行為的對象的集合,它在整體上代表一組對象,它為屬于該類的全部對象提供了統(tǒng)一屬性和行為兩個主要部分的抽象描述。10/17/20244對象(Object)—是類的一個實例,是組成一個系統(tǒng)的基本邏輯單元,是具有某些特征的具體的事物的抽象。每個對象都具有屬性和行為。數(shù)據(jù)抽象(DataAbstraction)—指僅表現(xiàn)核心的特性而不描述背景細節(jié)的行為。繼承(Inheritance)—是可以讓某個類型的對象獲得另一個類型的對象的屬性的方法。10/17/20245動態(tài)綁定(DynamicBinding)—給定的過程調用相關聯(lián)的代碼只有在運行期才可知。數(shù)據(jù)封裝(DataEncapsulation)—把數(shù)據(jù)和函數(shù)包裝在一個單獨的單元(類)的行為。多態(tài)性(Polymorphism)—事物具有不同形式的能力。消息傳遞(MessagePassing)—一個面向對象的程序由許多對象組成,這些對象之間需要相互溝通。10/17/20246事件及事件驅動事件

—是一個對象可以辨認的動作,如單擊鼠標或按下某鍵等,并且可以寫某些代碼針對此動作來作響應。事件過程

—是為響應由用戶或程序代碼引發(fā)的事件或由系統(tǒng)觸發(fā)的事件而運行的過程。10/17/20247(2)對象的引用(掌握)在面向對象程序設計中,經常要引用對象的屬性、事件和方法。VB中一般引用格式如下:[<集合名>!][<對象名>.]<屬性名>|<方法名>[<參數(shù)名表>]其中:!運算符用來指定隨后出現(xiàn)的是用戶定義項,例如,使用!運算符可以引用一個打開著的窗體、報表以及窗體或報表上的控件。.(點)運算符通常用來指出隨后出現(xiàn)的是Access定義的項,例如引用窗體、報表或控件的屬性。10/17/202481、VBA程序設計基礎VBA與VB的區(qū)別:VB是以界面為中心的開發(fā)方式,重點是在使用者如何進行操作;而VBA是以文件為中心的開發(fā)方式,重點是在使用者最后看到什么。什么時候使用宏:對于簡單的細節(jié)工作通常使用宏,例如,打開或關閉窗體、報表等。另外,在首次打開數(shù)據(jù)庫時執(zhí)行的一個或一系列操作也必須用宏來完成。10/17/20249什么時候使用VBA?1)使用內置函數(shù)或自行創(chuàng)建函數(shù);2)處理錯誤消息;3)創(chuàng)建或處理對象;4)執(zhí)行系統(tǒng)級的操作;5)一次處理多條記錄;6)將參數(shù)傳給VBA的過程。10/17/2024101)VBA的編程界面“VisualBasic編輯器”是一個集程序界面設計、代碼編寫、調試與一體的集成開發(fā)環(huán)境。如圖所示標題欄:顯示應用程序名稱和窗口控制按鈕。菜單欄:通過選取各菜單項來完成相應的功能。工具欄:提供了對常用功能的快速調用,通過單擊工具欄按鈕,可以完成該按鈕所指定的功能。工程窗口:以樹狀結構顯示主應用程序與模塊及類模塊的完整結構,用戶可在工程窗口中直接選擇窗口或模塊,對其進行編輯。屬性窗口:用于顯示窗體上的某個控件的可見屬性及其默認值,通過該屬性窗口還可以對可見屬性的值進行直接編輯。代碼窗口:用于編寫模塊的過程代碼。10/17/2024112)VBA的數(shù)據(jù)類型VBA中共定義了12種數(shù)據(jù)類型:字節(jié)型(Byte)1個字節(jié)邏輯型(Boolean)2個字節(jié)整型(Integer“%”)2個字節(jié)長整型(Long“&”)4個字節(jié)單精度型(Single“!”)4個字節(jié)10/17/202412雙精度型(Double“#”)8個字節(jié)貨幣型(Currency“@”)8個字節(jié)日期型(Date/Time)8個字節(jié)字符型(String“$”)所占字節(jié)數(shù)與字符串長度有關對象型(Object)4個字節(jié)變體型(Variant)根據(jù)分配確定10/17/202413用戶自定義型所占字節(jié)數(shù)與元素個數(shù)有關,用戶可以使用Type語句定義任何數(shù)據(jù)類型。語法如下:[Private/Public]Type類型名元素名As數(shù)據(jù)類型

…EndType例如:自定義一個教師的基本信息數(shù)據(jù)類型,其中包括姓名、性別、年齡的信息。10/17/202414PublicTypeTeacherNameAsString*10定義字符串變量存儲一個名字SexAsString*4定義字符串變量存儲一個性別AgeAsInteger定義整型變量存儲一個年齡EndTypeDimTeacherAsTeacher聲明變量10/17/202415引用數(shù)據(jù)Teacher.Name=“張三”Teacher.Sex=“男”Teacher.Age=2610/17/2024163)常量在程序運行中其值不變的量叫常量,VB中支持三種類型的常量:符號常量、固有常量和系統(tǒng)定義常量。符號常量:需要聲明的常數(shù)都是符號常量。固有常量:是Access或引用對象庫的一部分。系統(tǒng)定義常量:如True和False用于表示邏輯值,Null表示一個無效值。10/17/202417符號常量用戶可以使用自己定義的常量,但在使用之前必須聲明,以便分配內存空間。語法如下:

[Public/Private]Const常量名[As數(shù)據(jù)類型]=表達式

其中Public/Private兩個關鍵字分別代表了常量的三個范圍級別:過程級別和私有模塊級別用“Private”聲明,公共模塊級別用“Public”聲明。10/17/202418固有常量固有常量是系統(tǒng)自動定義的,可以直接使用。它由應用程序列與控件提供。

Access中主要有以下幾類固有常量:操作常量、DAO常量、事件過程常量、關鍵字常量、RunCommand方法常量、安全常量、VBA常量和VarType函數(shù)常量。10/17/2024194)變量在程序運行過程中其值可以改變的量叫變量,每個變量都有一個名字,程序通過變量名對變量進行存取操作,VBA中變量不區(qū)分大小寫,可使用兩種方法聲明變量:用Dim語句顯性聲明變量,語法如下:Dim變量名[As類型]例:DimXAsInteger聲明X為整型

另外也可使用隱性聲明,即VB中允許變量不經過聲明就直接使用。10/17/202420變量的作用域 不同級別的變量有不同的應用范圍,通常變量有三個范圍級別。過程級別在程序中聲明的變量屬于過程級別。只有在聲明此變量的過程中才可以使用的變量稱為局部變量。用戶可以使用Dim或Static關鍵字來定義例如:DimaAsintegerStaticbaAssingle10/17/202421私有模塊級別用戶可以在窗體、報表和標準模塊頂部的通用聲明區(qū)用Dim或Private定義模塊級別的變量。由Dim語句在聲明部分所聲明的變量,其范圍默認為私有的。私有變量一旦離開該程序,這些變量也就消失,別的程序或函數(shù)無法使用這些變量。公共模塊級別在模塊的通用聲明區(qū)中以Public聲明的變量。如果一個變量聲明為公共模塊級,那么它就可以被工程所有過程調用。這個級的變量,作用范圍最廣、生命周期最長。10/17/2024222、基本控制結構順序結構

賦值語句賦值語句是程序設計中最基本的語句,賦值語句都是順序執(zhí)行的。語句格式:變量名=表達式選擇結構

VB中提供了多種形式的條件語句實現(xiàn)選擇結構(或稱分支結構),即對條件進行判斷,根據(jù)判斷結果,選擇執(zhí)行不同的分支。10/17/2024231)IF條件語句If…Then語句(單分支結構)。有兩種形式:塊結構和行結構塊結構形式:If<表達式>Then

語句塊

EndIf行結構形式:

If<表達式>Then<語句>說明:1)表達式一般為關系表達式、邏輯表達式,也可以為算術表達式,非0為True,0為False。2)語句塊可以是一句或多句,若用行結構來表示,則只能是一句語句,若多句,語句間需用冒號隔開,而且必須在一行上書寫。10/17/202424例:已知兩個數(shù)x和y,比較它們的大小,使得x大于y。方法一:ifx<ythent=xx=yy=tendif方法二:ifx<ythent=x:x=y:y=t

10/17/202425If…Then…Else語句(雙分支結構)。此語句也有兩種形式:塊結構和行結構。塊結構形式:If<表達式>Then<語句塊1>Else<語句塊2>EndIf行結構形式:

If<表達式>Then<語句1>Else<語句2>說明:雙分支結構能根據(jù)表達式的判斷結果來選擇執(zhí)行的語句塊,當表達式的判斷結果為真時,則執(zhí)行語句塊1;當表達式的判斷結果為假時,則執(zhí)行語句塊2。10/17/202426例:求分段函數(shù)的值。代碼如下:IfX<>0thenY=X+1ElseY=X-1EndIf10/17/202427If…Then…ElseIf語句(多分支結構)。當需要判斷的表達式多于兩個時,需要用多分支結構來完成。代碼如下:If<表達式1>Then<語句塊1>

ElseIf<表達式2>Then<語句塊2>…[Else語句塊n+1]EndIf說明:1)多分支結構在執(zhí)行時,按著表達式的先后順序判斷,一旦遇到表達式的判斷結果為真時就執(zhí)行下面的語句塊。2)不管有幾個分支,程序執(zhí)行了一個分支后,其余分支不再執(zhí)行。3)ElseIf不能寫成ElseIf。4)當多分支中有多個表達式同時滿足,則只執(zhí)行第一個與之匹配的語句塊。10/17/202428例:計算個人所得稅,稅率如表所示:代碼:IfMoney>5000ThenTax=Money*0.2

ElseIfMoney>1000ThenTax=Money*0.15ElseTax=Money*0.1EndIf稅率0.20.150.1收入Money>50005000>Money>1000Money<100010/17/202429If語句的嵌套。If語句的嵌套是指if或else后面的語句塊中又包含if語句。語法如下:

If<表達式1>ThenIf<表達式2>Then…EndIf…EndIf說明:1)對于嵌套結構,為了增強程序的可讀性,應該采用縮進形式書寫。2)If語句形式若不在一行上書寫,必須與EndIf配對,多個If嵌套,EndIf與它最接近的If配對。10/17/2024302)SelectCase語句它是多分支選擇語句的又一種形式,具有結構清晰易讀的優(yōu)點。其語法如下:

SelectCase變量或表達式

Case表達式列表1

語句塊1 Case表達式列表2

語句塊2…[CaseElse語句塊n+1]EndSelect說明:1)變量或表達式可以是數(shù)值行或字符串表達式。2)表達式列表1、2等可以是表達式、一組用逗號分隔的枚舉值、表達式1to表達式2、Is關系運算符表達式等。10/17/202431例:根據(jù)X的值(1-4)打印對應英語單詞,超出X范圍則打印“bad”代碼:SelectCaseXCase1Print“One”Case2Print“Two”Case3Print“Three”Case4Print“Best”CaseElsePrint“bad”EndSelect10/17/202432循環(huán)結構 循環(huán)是在指定的條件下多次重復執(zhí)行一組語句。VB中提供了兩種基本類型的循環(huán)語句:計數(shù)循環(huán)語句和條件循環(huán)語句。10/17/2024333)For…Next循環(huán)語句知道循環(huán)次數(shù)的計數(shù)型循環(huán),語法如下:

For循環(huán)變量=初值to終值[Step步長]

語句塊

[ExitFor]

語句塊

Next循環(huán)變量說明:1)循環(huán)變量必須為數(shù)值型。2)步長一般為正,初值小于終值,若為負,初值大于終值,缺省步長為1。3)語句塊可以是一句或多句,稱為循環(huán)體。4)ExitFor表示當遇到該語句時,退出循環(huán)體,執(zhí)行下一條語句。5)退出循環(huán)后,循環(huán)變量的值保持退出時的值。6)循環(huán)體內不應對循環(huán)變量賦值。10/17/202434例:計算1到100的奇數(shù)之和Sum。代碼:Fori=1to100step2Sum=Sum+INexti10/17/2024354)Do…Loop循環(huán)不知道循環(huán)次數(shù)的條件型循環(huán)。語法形式有兩種:DoWhile…Loop(當型)和Do…LoopWhile(直到型)形式1:

Do[While|Until條件]

語句塊

[ExitDo]

語句塊

Loop10/17/202436形式2:

Do

語句塊

[ExitDo]

語句塊

Loop[While|Until條件]10/17/202437例:計算1到100的奇數(shù)之和Sum。代碼:n=1Dowhilen<=100Sum=Sum+nn=n+2Loop10/17/2024385)循環(huán)嵌套指在循環(huán)體內又包含一個完整的循環(huán)結構。對For循環(huán)和Do…Loop循環(huán)結構適用。例如:Fori=初值To終值

Forj=初值To終值

語句塊

NextjNexti說明:1)內外循環(huán)變量不能重名。2)內外循環(huán)不能交叉。10/17/2024396)VBA的其它常用語句GoTo語句用來無條件跳轉到過程中的另一條語句上,通常結合If語句使用,其語法格式如下:

GoTo標號|行號Exit語句用于退出某控制結構的執(zhí)行10/17/202440End語句用于結束一個程序的執(zhí)行,可以放在任何事件過程中,語法:EndWith語句它的作用是可以對某個對象執(zhí)行一系列的語句,而不用重復指出對象的名稱。但不能用一個With語句設置多個不同的對象。屬性前需要加“.”號PrivateSub關閉窗體_Click()OnErrorGoToErr_關閉窗體_Click

DoCmd.CloseExit_關閉窗體_Click:ExitSubErr_關閉窗體_Click:

MsgBox

Err.DescriptionResumeExit_關閉窗體_ClickEndSub10/17/202441在VBA編程過程中會經常用到一些操作,例如,打開或關閉某個窗體和報表、根據(jù)需要顯示一些提示信息、對控件輸入數(shù)據(jù)進行驗證或實現(xiàn)一些“定時”功能(如動畫)等,這些功能就可以使用VBA的輸入框、消息框及計時事件Timer等來完成。7)VBA中常用的操作方法10/17/202442

打開和關閉窗體VBA的窗體操作主要有兩個重要的命令:打開窗體Docmd.OpenForm和關閉窗體Docmd.Close。

打開和關閉報表報表的打開與關閉也是Access應用程序中的常用操作,與窗體的相同。VBA也就此提供了兩個操作命令:打開報表Docmd.OpenReport和關閉報表Docmd.Close。打開和關閉窗體或報表10/17/202443

輸入框:輸入框用于在一個對話框中顯示提示,等待用戶輸入正文并按下按鈕、返回包含文本框內容的數(shù)據(jù)信息。它的功能在VBA中是以函數(shù)的形式調用使用,其使用格式如下:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])調用該函數(shù),當中間若干個參數(shù)省略時,分隔符逗號“,”不能省略。輸入框和消息框10/17/202444

消息框:消息框用于在對話框中顯示消息,等待用戶單擊按鈕,并返回一個整型值告訴用戶單擊哪一個按鈕。格式為:MsgBox(prompt[,buttons][,title][,helpfile,context])輸入框和消息框10/17/202445使用窗體和數(shù)據(jù)訪問頁,每當保存記錄數(shù)據(jù)時,所做的更改便會保存到數(shù)據(jù)源表中。在控件中的數(shù)據(jù)被改變之前或記錄數(shù)據(jù)被更新之前會發(fā)生BeforeUpdate事件。通過創(chuàng)建窗體或控件的BeforeUpdate事件過程,可以實現(xiàn)對輸入到窗體控件中的數(shù)據(jù)進行各種驗證。例如,數(shù)據(jù)類型驗證、數(shù)據(jù)范圍驗證等。VBA編輯驗證數(shù)據(jù)10/17/202446

VBA中提供Timer時間控件可以實現(xiàn)“定時”功能。但VBA并沒有直接提供Timer時間控件,而是通過設置窗體的“計時器間隔(TimerInterval)”屬性與添加“計時器觸發(fā)(Timer)”事件來完成類似“定時”功能。處理過程是:Timer事件每隔TimerInterval時間間隔就會被激發(fā)一次,并運行Timer事件過程來響應。這樣重復不斷,即實現(xiàn)“定時”處理功能。計時事件Timer10/17/202447VBA的程序運行錯誤處理VBA中提供OnErrorGoTo。語句來控制當有錯誤發(fā)生時程序的處理。OnErrorGoTo指令的一般語句如下:OnErrorGoTo

標號OnErrorResumeNextOnErrorGoTo010/17/2024483、模塊基本概念VBA代碼存放的位置就是模塊。是作為一個單元保存在一起的VBA定義和過程的集合。Access2003包含兩種類型的模塊,一種是類模塊,另一種是標準模塊。(1)類模塊:是指包含新對象定義的模塊。當用戶新建一個類的實例的同時也就創(chuàng)建了新的對象,在模塊定義的任何過程都會變成這個對象的屬性和方法。10/17/202449類模塊又可分為三種:窗體模塊。是指與特定的窗體相關聯(lián)的類模塊。報表模塊。是指與特定的報表相關聯(lián)的類模塊,包含響應報表、報表段、頁眉和頁腳所觸發(fā)的事件的代碼,對報表模塊的操作與對窗體模塊的操作相類似。獨立的類模塊。類模塊可以不依附于窗體和報表而獨立存在。這種類型的類模塊可以為自定義對象創(chuàng)建定義。10/17/202450(2)標準模塊:標準模塊是指存放整個數(shù)據(jù)庫可用的函數(shù)和程序的模塊。它包含與任何其他對象都無關的通用過程,以及可以從數(shù)據(jù)庫的任何位置運行的常規(guī)過程。獨立的類模塊和標準模塊的區(qū)別:主要區(qū)別在于范圍和生命周期方面。獨立的類模塊沒有相關的對象,聲明的任何常量和變量都僅在代碼運行的時候是可用的。10/17/2024514、過程及過程調用在程序設計中,為各個相對獨立的功能模塊所編寫的一段程序稱之為過程。一個過程是一個VBA函數(shù)單元,過程中包括一系列用于執(zhí)行某個任務或是進行某種計算的語句。過程分為兩種:Sub子程序和Function函數(shù)過程。每個過程都用唯一的名字加以區(qū)分,過程在其他程序中通過名字訪問。10/17/2024521)Sub子程序

以“Sub”保留字開始的子程序過程,包括事件過程和通用過程。子過程是指那些用來執(zhí)行一個操作或多個操作,而不會返回任何值的過程,當錄制完宏查看代碼時,所看到的就是子程序。10/17/202453事件過程(1)窗體事件過程語法:PrivateSubForm_事件名([參數(shù)列表])

[局部變量和常數(shù)聲明]

語句塊EndSub注意:1、窗體事件過程名由Form_事件名組成。2、每個窗體事件過程名前都有一個Private前綴,表示該事件過程不能在它自己的窗體模塊之外被調用。3、事件過程有無參數(shù),完全由VB提供的具體事件本身決定,用戶不可隨意添加。10/17/202454(2)控件事件過程語法:PrivateSub控件名_事件名([參數(shù)列表])

[局部變量和常數(shù)聲明]

語句塊EndSub注意:其中的控件名必須與窗體中某控件相匹配,否則VB將認為它是一個通用過程。10/17/202455通用過程:通用過程是一個必須從另一個過程顯示調用的程序段,通用過程有助于將復雜的應用程序分解成多個易于管理的邏輯單元,使應用程序更簡潔、更易于維護。通用過程分為公有(Public)過程和私有(Private)過程兩種,公有過程可以被應用程序中的任一過程調用,而私有過程只能被同一模塊中的過程調用。10/17/202456通用過程語法如下:

[Private|Public][Static]Sub過程名([參數(shù)列表])

[局部變量和常數(shù)聲明]’用Dim或Static聲明語句塊

[ExitSub]

語句塊

EndSub10/17/202457建立Sub子過程的方法方法一:S1、打開代碼編輯器窗口。S2、選擇“插入”菜單中的“過程”命令S3、在“添加過程”對話框中輸入過程名,并選擇類型和范圍。S4、在新創(chuàng)建的過程中輸入內容。方法二:S1、在代碼編輯器窗口的對象中選擇“通用”,在文本編輯器輸入PrivateSub過程名。S2、按回車鍵,創(chuàng)建Sub過程樣板,輸入內容。10/17/202458例:利用輸入輸出函數(shù)和If結構創(chuàng)建子過程GetInfoOptionCompareDatabase'使用數(shù)據(jù)庫次序進行字符串比較。PublicSubGetInfo()'聲明過程名為GetInfo,該Sub過程沒有參數(shù)DimanswerAsString'聲明字符串變量answeranswer=InputBox(Prompt:="Whatisyourname?")'將用戶輸入的字符賦值給變量aswerIfanswer=EmptyThen'條件If...Then...Else語句

MsgBoxPrompt:="youdidnotentername"'在屏幕上顯示消息框Else

MsgBoxPrompt:="yournameis"&answer'MsgBox函數(shù)與answer變量連接,在屏幕上顯示消息對話框EndIfEndSub10/17/202459Sub子過程的調用調用語法:Call過程名(實際參數(shù)表)其中,實際參數(shù)的個數(shù)、類型和順序,應該與被調用過程的形式參數(shù)相匹配,有多個參數(shù)時,用逗號隔開。把過程名作為一個語句來調用語法:過程名[實參1[,實參2…]]

與第一種方式不同的是去掉了關鍵字和實參列表的括號。10/17/2024602)Function函數(shù)過程Function函數(shù)過程也稱為自定義函數(shù)過程,是實現(xiàn)某一數(shù)據(jù)處理功能并返回處理結果的代碼段。函數(shù)過程也可簡稱為函數(shù),是可以返回一個值的過程。創(chuàng)建Function過程的方法:在代碼窗口中,利用“工具”菜單中的“添加過程”命令,插入一個函數(shù)過程。在代碼窗口中,把插入點放在所有現(xiàn)有過程之外,直接輸入函數(shù)來定義。10/17/202461Function過程語法如下:

[Private|Public][Static]Function函數(shù)名([參數(shù)列表])[As數(shù)據(jù)類型][局部變量和常數(shù)聲明]’用Dim或Static聲明

[函數(shù)語句塊][函數(shù)名=<表達式>][ExitFunction][函數(shù)語句塊][函數(shù)名=<表達式>]EndFunction10/17/202462Function過程的調用語法:過程名([實參列表])調用其它模塊中的過程調用窗體中的過程,從窗體模塊的外部調用窗體中的公有過程,必須用窗體的名字作為調用前綴。例如:CallForm.ExamSub([實參表])調用標準模塊中的過程,如果在應用程序中,過程名是唯一的,則調用時不必加模塊名。如果有同名的,在其他模塊中調用時必須加模塊名。

10/17/202463例:編寫一個計算圓周長的函數(shù)過程,并利用子過程調用該函數(shù),代碼如下所示:PublicFunction計算(r!)AsSingle'定義名為“計算”的函數(shù),參數(shù)為半徑r,類型為單精度計算=2*3.1415926*r'定義函數(shù)表達式EndFunctionPublicSub調用()'定義名為“調用”的子過程

Dimx!,y!'定義變量

x=InputBox("請輸入半徑")'調用輸入函數(shù),為變量x輸入數(shù)值

y=計算(x)'調用計算函數(shù),將結果賦值給變量y

MsgBox("周長為"&y)'調用輸出語句,將結果顯示出來EndSub10/17/2024643)參數(shù)的傳遞按值傳遞參數(shù)(定義時加ByVal) 按值傳遞時,是將實參變量的值賦值到一個臨時存儲單元中,如果在調用過程中改變了形參的值,不會影響實參變量本身,即實參變量保持調用前的值不變。按地址傳遞參數(shù) 按地址傳遞參數(shù)時,把實參地址傳遞給被調用過程,形參和實參共用內存的同一地址。調用過程中,形參值一旦改變,相應實參的值也跟著改變。10/17/2024655、創(chuàng)建VBA模塊1)VB編碼規(guī)則語言元素:VB的語言基礎是Basic語言,其主要元素包括關鍵字、函數(shù)、表達式和語句。VB代碼書寫規(guī)則:程序中不區(qū)分大小寫,系統(tǒng)可對用戶程序代碼進行自動轉換。保留行號和標號:通常用在Goto語句中。10/17/202466語句書寫規(guī)則:在同一行上可以書寫多行語句,語句間用冒號(:)分隔;單行語句可以分多行書寫,在本行后加續(xù)行符空格或下劃線;一行允許多達255個字符。程序的注釋方式:整行注釋一般以Rem開頭,也可以用撇號’;用撇號引導的注釋,既可以是單獨成行,也可以直接放在語句的后面。10/17/2024672)在“代碼窗口”中編程代碼窗口包含了一個和VB相同的開發(fā)調試系統(tǒng)?!按a窗口”上方有兩個組合框,左邊是對象框,右邊是事件過程框。如圖所示:10/17/2024683)創(chuàng)建VBA模塊

Access中可

溫馨提示

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

評論

0/150

提交評論