版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Acces宏,孫平安,Access宏與模塊,用戶在利用Access時(shí),常常會(huì)重復(fù)進(jìn)行某一項(xiàng)工作。這樣既浪費(fèi)時(shí)間又不能夠保證所完成工作的一致性。此時(shí),可以利用宏來完成這些重復(fù)的任務(wù)。 通常情況下,宏適合于執(zhí)行簡(jiǎn)單的重復(fù)工作,而Microsoft Access中的VBA(visnal Basic for Application)的語言具有更加強(qiáng)大的編程功能,適用于完成具有一定難度的任務(wù)。 模塊是Microsoft Access中的對(duì)象之一,起著存放用戶編寫的Visual Basic代碼的作用。 本章介紹Access中宏的基本概念,宏的創(chuàng)建、調(diào)試和運(yùn)行,以及模塊和VBA的基礎(chǔ)知識(shí)。,宏的概念,宏是一
2、個(gè)或多個(gè)操作的集合,其中,每個(gè)操作執(zhí)行特定的功能。 宏由宏名、條件、操作和操作參數(shù)四部分組成。其中,宏名就是宏的名稱;條件用來限制宏操作執(zhí)行,只有當(dāng)滿足條件時(shí),才執(zhí)行相應(yīng)的操作;操作用來定義或選擇要執(zhí)行的宏操作;操作參數(shù)就是為宏操作設(shè)定的必需參數(shù)。,操作,宏中包含的每個(gè)操作也有名稱,都是系統(tǒng)提供的,有用戶選擇的操作命令,名稱不能更改。 宏中的多個(gè)操作命令在運(yùn)行時(shí)按照先后次序執(zhí)行。 如果設(shè)計(jì)了條件宏,則操作按照對(duì)應(yīng)設(shè)置的條件決定能否執(zhí)行。,宏的創(chuàng)建,建立宏 請(qǐng)看老師的實(shí)例 宏的修改 名稱為AutoExec的宏在打開該數(shù)據(jù)庫(kù)時(shí)將自動(dòng)啟動(dòng)。,宏組,宏組是多個(gè)基本宏的集合。通常情況下,如果存在許多宏,
3、最好將相關(guān)的宏分到不同的宏組,這樣有助于數(shù)據(jù)庫(kù)的管理。 宏組類似于程序設(shè)計(jì)中的“主程序”,而宏組中“宏名”列中的宏類似于“子程序”。 用宏組既可以增加控制,又可以減少編制宏的工作量。,宏組、宏與操作,宏操作是宏最基本的單元,一個(gè)宏操作由一個(gè)access中的方法(操作)完成。 宏是多個(gè)操作命令的集合,有宏名。簡(jiǎn)單宏包含一個(gè)或多個(gè)操作,沒有宏名; 復(fù)雜宏對(duì)象包含一個(gè)或多個(gè)宏(必須有宏名),這些宏分別包含一個(gè)或多個(gè)操作。 可以通過引用宏對(duì)象中的“宏對(duì)象名稱”(宏對(duì)象名.宏名)執(zhí)行宏對(duì)象中的宏。執(zhí)行宏對(duì)象中的宏時(shí),Access系統(tǒng)將按順序執(zhí)行“宏”列中的所設(shè)置的操作以及緊跟在后面的“宏名”列為空的操作
4、。,宏組,宏1,1,2,n,宏2,1,2,n,1,2,n,宏組,條件宏,在一定的條件下才執(zhí)行的宏操作,稱為條件宏。 條件是一個(gè)運(yùn)算結(jié)果為TrueFalse或“是否”的邏輯表達(dá)式。宏將根據(jù)條件結(jié)果的真或假而沿著不同的路徑進(jìn)行。 運(yùn)行宏時(shí),Access將求出第一個(gè)條件表達(dá)式的結(jié)果。如果這個(gè)條件的結(jié)果為真,Access 就會(huì)執(zhí)行此行所設(shè)置的操作,以及緊接著此操作且在“條件”對(duì)內(nèi)前加省略號(hào)“”的所有操作;然后,Access將執(zhí)行宏中所有其他“條件”列為空的操作,直到到達(dá)另一個(gè)表達(dá)式、宏名或宏的結(jié)尾為止;如果條件的結(jié)果為假,Access則會(huì)忽略相應(yīng)的操作,以及緊接著此操作且在“條件”字段內(nèi)前加省略號(hào)“”
5、的操作,并且移到下一個(gè)其他條件或“條件”列為空的操作行。,條件宏的創(chuàng)建,條件中其他組件的引用: 窗體上控件的引用 Forms!窗體名!控件名稱 報(bào)表上控件的引用 Reports!報(bào)表名!控件名稱,宏的運(yùn)行,使用運(yùn)行按鈕等進(jìn)行運(yùn)行 使用docmd對(duì)象的runMarco方法,通過事件觸發(fā)宏,事件的概念: 事件就是系統(tǒng)發(fā)過來一個(gè)消息(也可能是在用戶的外部動(dòng)作的驅(qū)動(dòng)下),通知你可以執(zhí)行某個(gè)動(dòng)作了。 過程就是你根據(jù)這個(gè)消息執(zhí)行的操作。 控件的事件是預(yù)先定義好的,而事件發(fā)生時(shí)所執(zhí)行的操作是由用戶(編程人員)為此事件的編寫的宏或事件的過程決定的。,窗體的事件,以窗體的打開和關(guān)閉為例: 打開-加載-調(diào)整大小-
6、激活-成為當(dāng)前 卸載-停用-關(guān)閉,模塊,模塊是Access中的一個(gè)重要對(duì)象,它以VBA語言為基礎(chǔ)編寫,以國(guó)數(shù)過程或過程為單元的集合方式存儲(chǔ)。與宏相比,VBA模塊在以下幾個(gè)方面具有優(yōu)勢(shì): 使用模塊可以使數(shù)據(jù)庫(kù)的維護(hù)更加簡(jiǎn)單。 用戶可以創(chuàng)建自己的函數(shù),用來執(zhí)行復(fù)雜的計(jì)算或復(fù)雜的操作。 利用模塊可以操作數(shù)據(jù)庫(kù)中的任何對(duì)象,包括數(shù)據(jù)庫(kù)本身。 可以進(jìn)行系統(tǒng)級(jí)別的操作。 可動(dòng)態(tài)地使用參數(shù),因此,模塊更具有靈活性。,1模塊的定義,模塊是將VBA聲明和過程作為一個(gè)單元進(jìn)行保存的集合。它是由聲明和過程組成的。一個(gè)模塊可能含有一個(gè)或多個(gè)過程,其中每個(gè)過程都是一個(gè)國(guó)數(shù)過程或者子程序。 過程是包含Visual Bas
7、ic代碼的單位。它包含一系列的語句和方法,以執(zhí)行特定的操作。當(dāng)它附加在窗體和控件上時(shí),如果發(fā)生某個(gè)事件,則可以執(zhí)行相應(yīng)的過程對(duì)該事件做出響應(yīng)。若該過程獨(dú)立,形成一個(gè)通用的代碼段被其他事件所調(diào)用,則形成一個(gè)通用的過程。 聲明則是由OPtion語句配置模塊中的整個(gè)編程環(huán)境。這部分包括定義變量、常量、用戶自定義類型和外部過程。用戶如果在聲明部分的設(shè)定是全局的,則聲明部分中的內(nèi)容就可以被模塊中所有的過程調(diào)用。,2模塊的分類,一從與其他對(duì)象的關(guān)系來看,模塊可以分為兩種基本類型:類模塊和標(biāo)準(zhǔn)模塊。 (1)類模塊 類模塊是可以定義新對(duì)象的模塊。新建一個(gè)類模塊就是創(chuàng)建了一個(gè)新對(duì)象。模塊中定義的過程將變成該對(duì)象
8、的屬性和方法。 窗體模塊和報(bào)表模塊都屬于類模塊,它們從屬于各自的窗體或報(bào)表。在窗體或報(bào)表的設(shè)計(jì)視圖環(huán)境下,可以用兩種方法進(jìn)入相應(yīng)的模塊代碼設(shè)計(jì)區(qū)域: 一是鼠標(biāo)點(diǎn)擊工具欄“代碼”按鈕進(jìn)人; 二是為窗體或報(bào)表創(chuàng)建事件過程時(shí),系統(tǒng)自動(dòng)進(jìn)入相應(yīng)的代碼設(shè)計(jì)區(qū)域。 窗體模塊和報(bào)表模塊通常都含有事件過程,而過程的運(yùn)行用于響應(yīng)窗體或報(bào)表上的事件。使用事件過程可以控制窗體或報(bào)表的行為以及它們對(duì)用戶操作的響應(yīng)。 窗體模塊和報(bào)表模塊中的過程可以調(diào)用標(biāo)準(zhǔn)模塊中已經(jīng)定義好的過程。 窗體模塊和報(bào)表模塊具有局部特性,其作用范圍局限在所屬窗體或報(bào)表內(nèi)部,而生命周期則是伴隨著窗體或報(bào)表的打開而開始、關(guān)閉而結(jié)束的。,(2)標(biāo)準(zhǔn)模
9、塊,標(biāo)準(zhǔn)模塊一般用于存放供其他Access數(shù)據(jù)庫(kù)對(duì)象使用的公共過程。在Access系統(tǒng)中可以通過創(chuàng)建新的模塊對(duì)象而進(jìn)入其代碼設(shè)計(jì)環(huán)境。 標(biāo)準(zhǔn)模塊通常安排一些公共變量或過程,供類模塊里的過程調(diào)用。在各個(gè)標(biāo)準(zhǔn)模塊內(nèi)部也可以定義私有變量和私有過程,僅供本模塊內(nèi)部使用。 標(biāo)準(zhǔn)模塊中的公共變量和公共過程具有全局特性,其作用范圍在整個(gè)應(yīng)用程序里,生命周期是伴隨著應(yīng)用程序的運(yùn)行而開始、關(guān)閉而結(jié)束的。,創(chuàng)建模塊,過程是模塊的組成單元,由VBA代碼編寫而成。過程分兩種類型:Sub子過程和Function函數(shù)過程。,1在模塊中加入過程,模塊是裝著 VBA代碼的容器。在窗體或報(bào)表的設(shè)計(jì)視圖里,單擊工具欄中的“代碼”
10、按鈕或者創(chuàng)建窗體或報(bào)表的事件過程,可以進(jìn)人類模塊的設(shè)計(jì)和編輯窗口;單擊數(shù)據(jù)庫(kù)窗體中的“模塊”對(duì)象標(biāo)簽,然后單擊“新建”按鈕,即可進(jìn)入標(biāo)準(zhǔn)模塊的設(shè)計(jì)和編輯窗口。 一個(gè)模塊包含一個(gè)聲明區(qū)域,包含一個(gè)或多個(gè)子過程(以Sub開頭)或函數(shù)過程(以 Function開頭)。模塊的聲明區(qū)域用來聲明模塊使用的變量等項(xiàng)目。,1)SUb過程,SUb過程又稱為子過程。執(zhí)行一系列操作,無返回值。定義格式如下: SUb過程名 程序代碼 End Sub 可以引用過程名來調(diào)用核子過程。此外,VBA提供了一個(gè)關(guān)鍵字Call,可顯示調(diào)用一個(gè)子過程。在過程名前加上Call是一個(gè)很好的程序設(shè)計(jì)習(xí)慣。,2)Function,Func
11、tion過程又稱為函數(shù)過程。執(zhí)行一系列操作,有返回值。定義格式如下: Function過程名 程序代碼 End Function 函數(shù)過程不能使用Call來調(diào)用執(zhí)行,需要直接引用函數(shù)過程名,并由接在函數(shù)過程名后的括號(hào)所辨別。,2在模塊中執(zhí)行宏,在模塊的過程定義中,使用DoCmd對(duì)象的RunMacro方法,可以執(zhí)行設(shè)計(jì)好的宏。其調(diào)用格式為: DoCmdRunMacro MacroNameRepeatCountRepeatExpresslon 其中MacroName表示當(dāng)前數(shù)據(jù)庫(kù)中宏的有效名稱;RepeatCount為可選項(xiàng),用于計(jì)算宏運(yùn)行次數(shù)的整數(shù)值;RepeatExpression是可選項(xiàng),為數(shù)值表達(dá)式,在每一次運(yùn)行宏時(shí)進(jìn)行計(jì)算,結(jié)果為False()時(shí),停止運(yùn)行宏。,3.宏與模塊之間的轉(zhuǎn)換,在Access中,通過宏或者用戶界面可以完成許多任務(wù)。而在其他
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年健美操教學(xué)指導(dǎo)培訓(xùn)
- 2026年鋼結(jié)構(gòu)安裝安全操作守則
- 2025年昆明幼兒園編制筆試及答案
- 2025年福山人事考試及答案
- 2025年數(shù)學(xué)教師入職筆試題目及答案
- 2026年房地產(chǎn)市場(chǎng)調(diào)控政策對(duì)投資者的影響
- 2025年殘障人士交流筆試題庫(kù)及答案
- 2025年陽(yáng)曲人事考試及答案
- 2025年新媒體采編工作筆試題目及答案
- 2025年教師筆試數(shù)學(xué)題及答案
- 矢量網(wǎng)絡(luò)分析儀校準(zhǔn)規(guī)范
- 高考英語閱讀理解分類及方法課件
- 紹興金牡印染有限公司年產(chǎn)12500噸針織布、6800萬米梭織布高檔印染面料升級(jí)技改項(xiàng)目環(huán)境影響報(bào)告
- DHA乳狀液制備工藝優(yōu)化及氧化穩(wěn)定性的研究
- 2023年江蘇省五年制專轉(zhuǎn)本英語統(tǒng)考真題(試卷+答案)
- 岳麓書社版高中歷史必修三3.13《挑戰(zhàn)教皇的權(quán)威》課件(共28張PPT)
- GC/T 1201-2022國(guó)家物資儲(chǔ)備通用術(shù)語
- 污水管網(wǎng)監(jiān)理規(guī)劃
- GB/T 6730.65-2009鐵礦石全鐵含量的測(cè)定三氯化鈦還原重鉻酸鉀滴定法(常規(guī)方法)
- GB/T 35273-2020信息安全技術(shù)個(gè)人信息安全規(guī)范
- 《看圖猜成語》課件
評(píng)論
0/150
提交評(píng)論