第8章 模塊與VBA程序設計_第1頁
第8章 模塊與VBA程序設計_第2頁
第8章 模塊與VBA程序設計_第3頁
第8章 模塊與VBA程序設計_第4頁
第8章 模塊與VBA程序設計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Access2010數(shù)據(jù)庫應用江西農業(yè)大學計算機與信息工程學院信息管理與信息系統(tǒng)教研室學習要點模塊的基礎知識新建模塊VBA概述VBA程序設計基礎知識第8章模塊與VBA程序設計學習目標通過本章的學習,讀者應該掌握模塊的基礎知識,并學會建立各類模塊,并能夠使用VBA進行數(shù)據(jù)庫編程。第3章表的創(chuàng)建與使用對象(Objectt)屬性(Property)方法(Method)事件(Event)8.1模塊的基礎知識8.1.1對象、屬性、方法、事件模塊是將VisualBasicforApplications中的聲明和過程作為一個單元進行保存的集合。模塊是由一個或多個過程組成的,每個過程可以實現(xiàn)一種或幾種功能,利用模塊可以將各種數(shù)據(jù)庫對象聯(lián)接起來,從而使其構成一個完整的系統(tǒng)。類模塊標準模塊過程

(1)Sub過程

(2)函數(shù)過程8.1模塊的基礎知識8.1.2什么是模塊Data事件Keyboard事件Error和Timing事件Mouse事件Filter事件Focus事件Window事件8.1模塊的基礎知識8.1.3事件的類型窗體和報表模塊都是類模塊,而且它們都依附于某一窗體或報表而存在。窗體和報表模塊通常都含有自己所包含的對象。每種對象都有自己固有的事件過程,該過程用于響應窗體或報表中的事件??梢允褂檬录^程來控制窗體或報表的行為,以及它們對用戶操作的響應。例8-1:創(chuàng)建窗體類模塊例8-2:創(chuàng)建報表類模塊8.2新建模塊8.2.1創(chuàng)建與窗體和報表相關的類模塊使用類模塊也可以創(chuàng)建不屬于窗體或報表的類模塊8.2.3創(chuàng)建標準模塊標準模塊包含的是普通過程,這些普通過程是獨立存在的過程,不與任何對象相關聯(lián)。8.2新建模塊識8.2.2創(chuàng)建與窗體和報表不相關的普通類模塊VBA是VisualBasicforApplicaton的縮寫,是VB語言在微軟Office系列產(chǎn)品中的應用,它是由VisualBasicForWindows發(fā)展而來,是VisualBasic的子集。VBA的語法結構與VisualBasicForWindows基本相似,如果你有VisualBasic基礎,那么你的學習將更加輕松而有效率。VBA具有以下特征:(1)VBA是一種解釋性語言。(2)VBA是一種面向對象的語言。(3)VBA支持可視化的編程環(huán)境。(4)VBA不能單獨被執(zhí)行,只能被office程序(Word、Excel、Access和PowerPoint等)所調用。(5)VBA是事件驅動的。8.3.1VBA簡介8.3VBA概述VBA與VB的主要區(qū)別。1.VB可以創(chuàng)建獨立的應用程序,而VBA是被嵌入在Microsoft的Office產(chǎn)品中來執(zhí)行的。2.VB具有自己的開發(fā)環(huán)境,VBA寄生在已有的Office軟件中。3.VB開發(fā)的應用程序通常是以可執(zhí)行文件的方式存在于計算機中,而VBA開發(fā)的程序必須依賴于它的“父”應用程序(Offic)。8.3.2VBA與VB8.3VBA概述VBA的開發(fā)環(huán)境是指開發(fā)VBA程序所使用的“設計器”,通常叫它“VBA開發(fā)環(huán)境”在access2010中,單擊“創(chuàng)建”→宏與代碼中的“VisualBasic”或單擊“數(shù)據(jù)庫工具”→“VisualBasic”或按下組合鍵“Alt+F11”都會彈出一個窗口,這就是VBA的“開發(fā)環(huán)境”。也可以在打開一個數(shù)據(jù)庫后,單擊access2010窗口中的“創(chuàng)建”,然后單擊其下的“模塊”或“類模塊”來進入VBA的開發(fā)環(huán)境。8.3.3認識VBA開發(fā)環(huán)境8.3VBA概述1.VBA開發(fā)環(huán)境窗口8.3.3認識VBA開發(fā)環(huán)境8.3VBA概述選擇事件代碼窗口工程資源管理器屬性窗口1.VBA數(shù)據(jù)類型8.4.1數(shù)據(jù)類型、常量及變量8.4BA程序設計基礎知識類型標識符數(shù)據(jù)類型占用內存(字節(jié))有效數(shù)值范圍Boolean布爾型2True或FalseByte字節(jié)型10~255的整數(shù)Integer整數(shù)型2-32768~32767Long長整數(shù)型4-2,147,483,648~2,147,483,647Single單精度浮點型4負數(shù):-3.402823E38~-1.401298E-45正數(shù):1.401298E-45~3.402823E38Double雙精度浮點型8負數(shù):-1.10000000000231E308~-4.10000000000247E-324正數(shù):4.10000000000247E–324~1.10000000000231E3081.VBA數(shù)據(jù)類型類型標識符數(shù)據(jù)類型占用內存(字節(jié))有效數(shù)值范圍Currency變比整型8-922,337,203,685,477.5808~922,337,203,685,477.5807Decimal小數(shù)型14不含小數(shù)時:+/-10000000000100000000003950335包含小數(shù)時:+/-7.1000000000010000000000950335最小非零值:+/-0.1000000000010000000000000001Date日期型81/1/100~12/31/99991.VBA數(shù)據(jù)類型類型標識符數(shù)據(jù)類型占用內存(字節(jié))有效數(shù)值范圍String(定長)定長字符串型字符串長度定長字符串最多可包含大約65,400個字符String(變長)變長字符串型10字節(jié)+字符串長度變長字符串最多可包含大約20億(2^31)個字符Object對象型4對象變量可用來引用任何對象Variant(數(shù)字)變體型16數(shù)值數(shù)據(jù)時,最大可達Double的范圍+/-10000000000100000000003950335

包含小數(shù)時:

+/-7.1000000000010000000000950335

最小非零數(shù)字:+/-0.1000000000010000000000000001Variant(字符)變體型22字節(jié)+字符串長度與變長字符串的范圍相同2.常量在程序的執(zhí)行過程中,其值不能被改變的數(shù)據(jù)稱為常量,也可以這么說,常量就是固定值,如19,3.14,0.625e+3,-2.89E-2。符號常量在VBA中,符號常量可以用Const語句來定義,并且可在模塊中使用。例如,ConstPI=3.141593ConstAuthor="張三"8.4.1數(shù)據(jù)類型、常量及變量8.4BA程序設計基礎知識3.變量變量是數(shù)據(jù)在程序中的一種表現(xiàn)形式,在程序的執(zhí)行過程中,變量的值可以發(fā)生改變。變量主要用來保存程序運行時用戶輸入的數(shù)據(jù)、表達式的結果、函數(shù)的返回值和程序要輸出的數(shù)據(jù)。變量包括以下4個組成部分:變量名、變量的數(shù)據(jù)類型、變量所占的存儲空間和變量的值。8.4.1數(shù)據(jù)類型、常量及變量8.4BA程序設計基礎知識3.變量變量在使用前應進行聲明,這就是所謂的聲明變量,也就是說明一個或多個變量的名字,以及這些變量可以保存何種類型的數(shù)據(jù)。在VBA中,可以使用兩種方式來聲明變量,一種為顯式聲明,另一種為隱式聲明。顯式聲明要用到Dim語句,Dim即Dimension的意思,Dim語句的格式如下:(1)Dim變量名稱As數(shù)據(jù)類型(2)Dim變量名稱1,變量名稱2,……,變量名稱n As數(shù)據(jù)類型(3)Dim變量名稱1As數(shù)據(jù)類型1,變量名稱2As數(shù)據(jù)類型2,……,變量名稱nAs數(shù)據(jù)類型nVBA中常用的運算符可分為以下幾類:算術運算符、關系運算符、邏輯運算符和字符串的連接運算符。由運算符和運算數(shù)按一定的格式組成的式子叫作表達式。具體來說,表達式是由數(shù)字、字符串、常量、變量、對象成員、函數(shù)以及運算符組成的運算式。每一個表達式經(jīng)過運算后都會產(chǎn)生一個確定的值(這一運算過程稱為表達式求值),這個值就稱為表達式的值。VBA的表達式可分為算術表達式、關系表達式、邏輯表達式和字符串表達式。8.4.2運算符與表達式8.4BA程序設計基礎知識除了在模塊創(chuàng)建中可以定義子過程與函數(shù)過程以完成特定功能外,VBA還提供了近百個內置的標準函數(shù),可以方便地完成許多操作。標準函數(shù)一般用于各種表達式中,有的能像語句一樣使用。其使用格式如下:

函數(shù)名(參數(shù)列表)或

函數(shù)名()VBA的標準函數(shù)可分為:算術函數(shù)、字符串函數(shù)、日期/時間函數(shù)和類型轉換函數(shù)。8.4.3VBA的常用函數(shù)8.4BA程序設計基礎知識VisualBasic中的語句是一個完整的命令。它可以包含關鍵字、運算符、變量、常量以及表達式。每一個語句都屬于下列3種類別之一。(1)聲明語句(2)賦值語句(3)可執(zhí)行語句1.VBA中語句的特點(1)VBA允許將單個語句分成多行書寫。(2)VBA允許在代碼中加入注釋。例8-3:在程序中使用注釋的方法。8.4.4VBA中的語句8.4BA程序設計基礎知識2.VBA中的聲明語句例8-4:聲明語句使用實例。3.賦值語句例8-5:指定InputBox函數(shù)的返回值給變量name。8.4.4VBA中的語句8.4BA程序設計基礎知識4.選擇控制語句(1)If…Then…語句例8-6:隨機出一道兩位數(shù)的加法題讓小學生回答。例8-7:輸入一整數(shù),判斷其奇偶并顯示相應的判斷結果。例8-8:使用塊條件語句改寫例8-7的程序。(2)塊結構條件語句例8-9:收入稅計算。8.4.4VBA中的語句8.4BA程序設計基礎知識(3)SelectCase語句例8-10:根據(jù)當前時間,判斷現(xiàn)在是上午、中午、下午、晚上,還是午夜。例8-11:根據(jù)百分制成績返回成績等級。成績大于等于0且小于60,則返回“不及格”,成績介于60到70之間(含60,但不含70),則返回“及格”,成績介于70到90之間(含70,但不含90),則返回“良好”,成績介于90到99之間(含80和99),則返回“優(yōu)秀”,成績?yōu)?00分則返回“滿分”,如果成績小于0或者大于100,提示則提示成績值錯誤。要求利用一個Function過程來處理。8.4.4VBA中的語句8.4BA程序設計基礎知識5.循環(huán)控制語句(1)Do循環(huán)DoWhile…Loop循環(huán)Do…LoopWhile循環(huán)DoUntil…Loop循環(huán)Do…LoopUntil循環(huán)例8-12:編寫過程求S=1+2+3+…+100例8-13:使用Do…LoopWhile循環(huán)改寫例8-12所得的過程。8.4.4VBA中的語句8.4BA程序設計基礎知識5.循環(huán)控制語句例8-14:編寫過程求n!例8-15:使用Do…LoopUntil循環(huán)改寫例8-14所得的過程。5.循環(huán)控制語句(2)For循環(huán)For…Next循環(huán)ForEach…Next循環(huán)例8-17:使用For…Next循環(huán)重寫例8-12的過程。例8-18:編寫程序,由鍵盤輸入一個自然數(shù)n,判斷它是否是素數(shù)。素數(shù)就是,除1以外,只能被1和它自己整除的自然數(shù)。例8-20:利用ForEach…Next循環(huán)輸出一個長度為20的隨機數(shù)組,并求數(shù)組中各元素的和以及大于50的元素的個數(shù)。5.循環(huán)控制語句(3)雙重循環(huán)和多重循環(huán)雙重循環(huán)和多重循環(huán)統(tǒng)稱為循環(huán)的嵌套,是指在一個循環(huán)結構的循環(huán)語句塊中又包含了另一個循環(huán)結構,并且這種嵌套可以是多層的。例8-21:在VBA立即窗口輸出九九乘法口決表。過程是由兩部分組成的,即聲明部分和過程代碼實現(xiàn)部分。聲明部分用于聲明當前過程所用到的標識符。如變量、常量、數(shù)組等。1.Sub過程Sub過程是沒有返回值的過程,它主要用來完成某種操作,其語法結構如下:Sub過程名([參數(shù)表])語句組EndSub8.4.5建立過程8.4BA程序設計基礎知識1.Sub過程例8-22:一個帶有兩個參數(shù)的Sub過程,顯示兩個整數(shù)相加、相減的結果。而標準模塊中的Sub過程是

溫馨提示

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

評論

0/150

提交評論