VBA模塊的編程過程_第1頁
VBA模塊的編程過程_第2頁
VBA模塊的編程過程_第3頁
VBA模塊的編程過程_第4頁
VBA模塊的編程過程_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

教學重點與難點

VBA的編程環(huán)境

常量、變量和數(shù)組

程序流程控制

創(chuàng)建VBA模塊12.1VBA編程環(huán)境Access利用VisualBasic編輯器(VBE)來編寫過程代碼,它以微軟的VisualBasic編程環(huán)境的布局為基礎,實際上是一個集編輯、調(diào)試、編譯等功能于一體的編程環(huán)境。所有的Office應用程序都支持VisualBasic編程環(huán)境,而且其編程接口都是相同的。使用該編輯器可以創(chuàng)建過程,也可以編輯已有的過程。

幫助輸入

顯示提示信息

形成良好的程序設計風格

使用書簽調(diào)試手段

下圖為一個VBE窗口,窗口中的各個部分已經(jīng)給出了相應標識。

12.2VBA程序設計基礎

VBA(VisualBasicforApplication)是VisualBasic語言的一個子集,集成了整個Office產(chǎn)品套件中的開發(fā)語言和開發(fā)環(huán)境。作為Office產(chǎn)品系列的一個重要組成部分,MicrosoftAccess也是使用VBA語言作為其代碼設計的開發(fā)語言。本節(jié)將簡要介紹VBA語言的基本結構和語法。

常量、變量和數(shù)組

數(shù)據(jù)類型

在VBA中,程序是由過程組成的,過程又由根據(jù)VBA規(guī)則書寫的指令組成。一個程序包括常量、變量、運算符、語句、函數(shù)、數(shù)據(jù)庫對象和事件等基本要素。

常量變量數(shù)組

12.2.1常量、變量和數(shù)組

VBA語言的數(shù)據(jù)類型包括布爾型(Boolean)、日期型(Date)、字符串(String)、貨幣型(Currency)、字節(jié)型(Byte)、整數(shù)型(Integer)、長整型(Long)、單精度型(Single)、雙精度型(Double)以及變體型(Variant)和用戶自定義型。

12.2.2數(shù)據(jù)類型12.3程序流程控制

與傳統(tǒng)的程序設計語言一樣,VisualBasic也具有結構化程序設計的3種結構:順序結構、選擇(分支)結構和循環(huán)結構,下面重點介紹選擇結構和循環(huán)結構。

選擇結構

循環(huán)結構

選擇結構有If語句和SelectCase語句兩種。

If語句是一類比較簡單的條件控制語句,可以通過緊跟在If后面的表達式的值,判斷出在其影響范圍下的語句是否被執(zhí)行。

如果在If語句中,一個表達式有多個可選值,并且需要為這些可選值建立不同的執(zhí)行語句,例如選項組控件可以通過不同的值來判斷選項組中到底是按下哪個按鈕,這樣的語句設計通過If語句不方便實現(xiàn),這時就需要使用SelectCase語句。

12.3.1選擇結構

編程中經(jīng)常要需要重復執(zhí)行某些操作,這時就需要通過循環(huán)語句來判斷并執(zhí)行這些循環(huán)操作。VBA提供了多種循環(huán)控制語句,其中常用的包括Do…Loop語句、For…Next語句以及While…Wend語句等。

Do…Loop語句

For…Next語句

While…Wend語句

GoTo語句12.3.2循環(huán)結構12.4Access對象模型Access提供的對象模型可以將數(shù)據(jù)庫功能與自定義的解決方案集成起來。通過使用Access對象模型,可以實現(xiàn)對事件編程、創(chuàng)建Access窗體和報表以及設置引用等。對象模型提供了一些對象,Access內(nèi)部應用程序可以使用這些對象。

對象

對象集合對象模型

VBA與傳統(tǒng)語言的重要區(qū)別之一就是它是面向?qū)ο蟮?。對象是VisualBasic程序設計的核心。事實上,窗體和控件都是對象,數(shù)據(jù)庫也是對象,對象到處都存在。一旦理解如何引用應用程序?qū)ο竽P椭械膶ο?,就能夠使用對象及其特性來建立自己的解決方案。當然,也可以將對象理解為封裝數(shù)據(jù)和代碼的客體,它是代碼和數(shù)據(jù)的集合。

屬性

方法事件12.4.1對象

對象集合是一個包含幾個其他對象的對象,而這些對象可具有不同的類型,并且對象的位置均可改變。Access窗體具有以下3種集合,如下圖所示,其中填充色為灰色的表示集合。

12.4.2對象集合

對象模型實際上給出了基于對象程序的結構,通過定義程序中所使用對象之間的關系,對象模型能夠以一種比編程更容易的方式來組織對象。

Access中的窗體模型包括的對象類型有:控件、集合和集合中的對象。窗體對象模型的每個元素都具有一系列的屬性、方法和事件,可以利用方法使應用程序按照要求進行工作。在VBA中,各個對象之間也不是孤立的,而是彼此之間存在著包含與被包含的關系。

12.4.3對象模型12.5創(chuàng)建VBA模塊

模塊是將VBA代碼的聲明、語句和過程作為一個單元進行保存的集合,是基本語言的一種數(shù)據(jù)庫對象,數(shù)據(jù)庫中的所有對象都可以在模塊中進行引用。利用模塊可以創(chuàng)建自定義函數(shù)、子程序以及事件過程等,以便完成復雜的計算功能。模塊可以代替宏,并可以執(zhí)行標準宏所不能執(zhí)行的功能。模塊的定義和創(chuàng)建

過程的創(chuàng)建

過程的調(diào)用

Access模塊有兩種基本類型:類模塊和標準模塊。模塊中的每一個過程都可以是一個Function過程或一個Sub過程。

類模塊

標準模塊12.5.1模塊的定義和創(chuàng)建

過程是包含VBA代碼的基本單位,可以完成一系列指定的操作。過程由計算的語句和方法組成,通常分為Sub過程、Function過程和Property過程。其中,Sub過程是最常用的過程類型,也稱為命令宏,可以傳送參數(shù)和使用參數(shù)來調(diào)用它,但不返回任何值;Function過程也稱為自定義函數(shù)過程,其運行方式和使用程序的內(nèi)置函數(shù)一樣,即通過調(diào)用Function過程獲得函數(shù)的返回值;Property過程能夠處理對象的屬性。

12.5.2過程的創(chuàng)建Call語句用來調(diào)用過程,也可調(diào)用VisualBasic的函數(shù)和自定義函數(shù),兩者均采用如下的格式:

[Call]name[argumentlist]

其中name表示被調(diào)用過程的名稱,argumentlist表示參數(shù)列表,各參數(shù)間必須以逗號隔開。在窗體過程(例如事件過程)中可以直接調(diào)用標準模塊中的過程,但也可通過標準模塊的名稱來調(diào)用。在標準模塊的過程中調(diào)用窗體模塊中的過程時,必須以VisualBasic格式指出窗體名,例如“Form_員工信息.name”。12.5.3過程的調(diào)用12.6VBA代碼的保護

在開發(fā)數(shù)據(jù)庫產(chǎn)品以后,為了防止其他人查看或更改VBA代碼,需要對該數(shù)據(jù)庫的VBA代碼進行保護。保護VBA代碼的措施主要有兩種:對VBA代碼設置密碼保護或生成MDE文件保護。

設置密碼保護VisualBasic代碼

生成ACCDE文件

用戶可以通過對VBA代碼設置密碼來防止其他非法用戶查

溫馨提示

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

評論

0/150

提交評論