第12章 VBA編程.ppt_第1頁
第12章 VBA編程.ppt_第2頁
第12章 VBA編程.ppt_第3頁
第12章 VBA編程.ppt_第4頁
第12章 VBA編程.ppt_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第12章 VBA編程,雖然Access的交互操作功能非常強大且易于掌握,但是在實際的數(shù)據(jù)庫應(yīng)用系統(tǒng)中,用戶還是希望盡量通過自動操作達到數(shù)據(jù)庫管理的目的。應(yīng)用程序設(shè)計語言在開發(fā)中的應(yīng)用,可以加強對數(shù)據(jù)管理應(yīng)用功能的擴展。Office中包含Visual Basic for Application(VBA),VBA具有與Visual Basic相同的語言功能,它為Access提供了無模式用戶窗體以及支持附加Active X控件等功能。本章將簡要介紹VBA的編程。,教學(xué)重點與難點,VBA的編程環(huán)境 常量、變量和數(shù)組 程序流程控制 創(chuàng)建VBA模塊,12.1 VBA編程環(huán)境,Access利用Visual

2、Basic編輯器(VBE)來編寫過程代碼,它以微軟的Visual Basic編程環(huán)境的布局為基礎(chǔ),實際上是一個集編輯、調(diào)試、編譯等功能于一體的編程環(huán)境。所有的Office應(yīng)用程序都支持Visual Basic編程環(huán)境,而且其編程接口都是相同的。使用該編輯器可以創(chuàng)建過程,也可以編輯已有的過程。 幫助輸入 顯示提示信息 形成良好的程序設(shè)計風(fēng)格 使用書簽 調(diào)試手段,下圖為一個VBE窗口,窗口中的各個部分已經(jīng)給出了相應(yīng)標識。,12.2 VBA程序設(shè)計基礎(chǔ),VBA(Visual Basic for Application)是Visual Basic語言的一個子集,集成了整個Office產(chǎn)品套件中的開發(fā)語

3、言和開發(fā)環(huán)境。作為Office產(chǎn)品系列的一個重要組成部分,Microsoft Access也是使用VBA語言作為其代碼設(shè)計的開發(fā)語言。本節(jié)將簡要介紹VBA語言的基本結(jié)構(gòu)和語法。 常量、變量和數(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)、單精度型(S

4、ingle)、雙精度型(Double)以及變體型(Variant)和用戶自定義型。,12.2.2 數(shù)據(jù)類型,12.3 程序流程控制,與傳統(tǒng)的程序設(shè)計語言一樣,Visual Basic也具有結(jié)構(gòu)化程序設(shè)計的3種結(jié)構(gòu):順序結(jié)構(gòu)、選擇(分支)結(jié)構(gòu)和循環(huán)結(jié)構(gòu),下面重點介紹選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu),選擇結(jié)構(gòu)有If語句和Select Case語句兩種。 If語句是一類比較簡單的條件控制語句,可以通過緊跟在If后面的表達式的值,判斷出在其影響范圍下的語句是否被執(zhí)行。 如果在If語句中,一個表達式有多個可選值,并且需要為這些可選值建立不同的執(zhí)行語句,例如選項組控件可以通過不同的值來判斷選項組中

5、到底是按下哪個按鈕,這樣的語句設(shè)計通過If語句不方便實現(xiàn),這時就需要使用Select Case語句。,12.3.1 選擇結(jié)構(gòu),編程中經(jīng)常要需要重復(fù)執(zhí)行某些操作,這時就需要通過循環(huán)語句來判斷并執(zhí)行這些循環(huán)操作。VBA提供了多種循環(huán)控制語句,其中常用的包括DoLoop語句、ForNext語句以及WhileWend語句等。 DoLoop語句 ForNext語句 WhileWend語句 GoTo語句,12.3.2 循環(huán)結(jié)構(gòu),12.4 Access對象模型,Access提供的對象模型可以將數(shù)據(jù)庫功能與自定義的解決方案集成起來。通過使用Access對象模型,可以實現(xiàn)對事件編程、創(chuàng)建Access窗體和報表以

6、及設(shè)置引用等。對象模型提供了一些對象,Access內(nèi)部應(yīng)用程序可以使用這些對象。 對象 對象集合 對象模型,VBA與傳統(tǒng)語言的重要區(qū)別之一就是它是面向?qū)ο蟮摹ο笫荲isual Basic程序設(shè)計的核心。事實上,窗體和控件都是對象,數(shù)據(jù)庫也是對象,對象到處都存在。一旦理解如何引用應(yīng)用程序?qū)ο竽P椭械膶ο?,就能夠使用對象及其特性來建立自己的解決方案。當然,也可以將對象理解為封裝數(shù)據(jù)和代碼的客體,它是代碼和數(shù)據(jù)的集合。 屬性 方法 事件,12.4.1 對象,對象集合是一個包含幾個其他對象的對象,而這些對象可具有不同的類型,并且對象的位置均可改變。Access窗體具有以下3種集合,如下圖所示,其中填

7、充色為灰色的表示集合。,12.4.2 對象集合,對象模型實際上給出了基于對象程序的結(jié)構(gòu),通過定義程序中所使用對象之間的關(guān)系,對象模型能夠以一種比編程更容易的方式來組織對象。 Access中的窗體模型包括的對象類型有:控件、集合和集合中的對象。 窗體對象模型的每個元素都具有一系列的屬性、方法和事件,可以利用方法使應(yīng)用程序按照要求進行工作。在VBA中,各個對象之間也不是孤立的,而是彼此之間存在著包含與被包含的關(guān)系。,12.4.3 對象模型,12.5 創(chuàng)建VBA模塊,模塊是將VBA代碼的聲明、語句和過程作為一個單元進行保存的集合,是基本語言的一種數(shù)據(jù)庫對象,數(shù)據(jù)庫中的所有對象都可以在模塊中進行引用。

8、利用模塊可以創(chuàng)建自定義函數(shù)、子程序以及事件過程等,以便完成復(fù)雜的計算功能。模塊可以代替宏,并可以執(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)用它,但不返回任何值;Functio

9、n過程也稱為自定義函數(shù)過程,其運行方式和使用程序的內(nèi)置函數(shù)一樣,即通過調(diào)用Function過程獲得函數(shù)的返回值;Property過程能夠處理對象的屬性。,12.5.2 過程的創(chuàng)建,Call語句用來調(diào)用過程,也可調(diào)用Visual Basic的函數(shù)和自定義函數(shù),兩者均采用如下的格式: Call name argumentlist 其中name表示被調(diào)用過程的名稱,argumentlist表示參數(shù)列表,各參數(shù)間必須以逗號隔開。 在窗體過程(例如事件過程)中可以直接調(diào)用標準模塊中的過程,但也可通過標準模塊的名稱來調(diào)用。在標準模塊的過程中調(diào)用窗體模塊中的過程時,必須以Visual Basic格式指出窗體名,例如“Form_員工信息.name”。,12.5.3 過程的調(diào)用,12.6 VBA代碼的保護,在開發(fā)數(shù)據(jù)庫產(chǎn)品以后,為了防止其他人查看或更改VBA代碼,需要對該數(shù)據(jù)庫的VBA代碼進行保護。保護VBA代碼的措施主要有兩種:對VBA代碼設(shè)置密碼保護或生成MDE文件保護。 設(shè)置密碼保護Visual Basic代碼 生成ACCDE文件,用戶可以通過對VBA代碼設(shè)置

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論