會(huì)員登錄 - 用戶注冊(cè) - 網(wǎng)站地圖 Office中國(guó)(office-cn.net),專業(yè)Office論壇

宏的概念以及工作方式

時(shí)間:2009-03-26 09:35 來(lái)源:accesssoft 作者:UMVsoft整… 閱讀:

在利用Access完成實(shí)際工作時(shí),常常會(huì)重復(fù)進(jìn)行某一項(xiàng)工作?梢酝ㄟ^(guò)創(chuàng)建宏來(lái)執(zhí)行重復(fù)的或復(fù)雜的任務(wù)。利用宏的自動(dòng)執(zhí)行重復(fù)任務(wù)的功能,可以保證工作的一致性,避免因忘記操作步驟等失誤而引起的麻煩,從而提高工作效率。
    宏由一些操作和命令組成,其中每個(gè)操作可實(shí)現(xiàn)特定的功能,命令可輔助完成自動(dòng)化的操作。例如,可以完成排序、查詢、顯示窗體、打印報(bào)表等各種操作。宏可以使普
  通的任務(wù)自動(dòng)完成。例如,可設(shè)置一個(gè)宏,在用戶單擊某個(gè)命令按鈕時(shí)運(yùn)行該宏,以打印指定的報(bào)表。在創(chuàng)建宏時(shí),可以包含一些操作參數(shù),用于執(zhí)行某項(xiàng)單獨(dú)操作所要求的附加信息。
    宏的優(yōu)點(diǎn)在于,無(wú)須編程即可完成對(duì)數(shù)據(jù)庫(kù)對(duì)象的各種操作。在宏中使用的操作與操作系統(tǒng)中的批處理命令非常相似。用廣在使用宏時(shí),只需給出操作的名稱、條件和參數(shù),就可以自動(dòng)完成指定的操作。
    宏可以分為三類:操作序列、宏組和含有條件的宏。
    1.操作序列
    操作序列是結(jié)構(gòu)最簡(jiǎn)單的一種宏。宏中包含的就是順序排列的各種操作,每次運(yùn)行該宏時(shí),Access都將順序執(zhí)行宏中的操作。
  2.宏組
  在數(shù)據(jù)庫(kù)操作中,如果為了完成一項(xiàng)功能而需要使用多個(gè)宏,則可將完成同一項(xiàng)功能的多個(gè)宏組成一個(gè)宏組,以便于對(duì)數(shù)據(jù)庫(kù)中的宏進(jìn)行分類管理和分別維護(hù)。
    例如,宏組是由三個(gè)相關(guān)的宏:雇員、產(chǎn)品和報(bào)表對(duì)話框組成的。其中每個(gè)宏都執(zhí)行OpenForm(打開窗體)操作,產(chǎn)品宏還可執(zhí)行MoveSize操作!昂昝绷杏糜跇(biāo)識(shí)宏。在宏組中執(zhí)行宏時(shí),將會(huì)順序執(zhí)行操作列中的操作;當(dāng)操作列中的“宏名”列為空時(shí),立即執(zhí)行所跟隨的操作。
    調(diào)用(執(zhí)行)一個(gè)宏組中的宏的格式為:
    宏組名.宏名
    例如,引用“按鈕”宏組中的“雇員”宏,可以使用句式:按鈕.雇員。

  3.條件操作
  條件操作是指在滿足一定條件時(shí),才執(zhí)行宏中的某個(gè)或某些操作。條件的設(shè)置可以通過(guò)邏輯表達(dá)式來(lái)完成,表達(dá)式的真假?zèng)Q定了是否執(zhí)行宏中的操作。例如,圖中的宏只有在“條件”列中的表達(dá)式為真時(shí)(在“供應(yīng)商ID”字段中有一個(gè)Null值),才執(zhí)行MsgBox和stopMacro操作。
    在一般的數(shù)據(jù)庫(kù)系統(tǒng)中,如果要對(duì)數(shù)據(jù)庫(kù)中的對(duì)象進(jìn)行操作,就需要編寫程序來(lái)完成這些操作。在Access數(shù)據(jù)庫(kù)中,也可以通過(guò)編寫模塊代碼來(lái)代替宏中的操作。使用宏還是使用VBA來(lái)創(chuàng)建應(yīng)用程序,取決于需要完成的任務(wù)。
    對(duì)于簡(jiǎn)單的細(xì)節(jié)工作,如打開窗體,關(guān)閉窗體,顯示工具欄,運(yùn)行報(bào)表,創(chuàng)建全局賦值鍵,以及在首次打開數(shù)據(jù)庫(kù)時(shí)的一系列操作等,使用宏是很方便的。它可以簡(jiǎn)捷迅速地將已經(jīng)創(chuàng)建的數(shù)據(jù)庫(kù)對(duì)象聯(lián)系在一起,因?yàn)椴槐赜涀「鞣N語(yǔ)法,并且每個(gè)操作的參數(shù)都顯示在“宏”窗口的下半部分。但在有些情況下,應(yīng)該使用VBA而不使用宏。例如,如果一個(gè)數(shù)據(jù)庫(kù)包含用于響應(yīng)窗體和報(bào)表上的事件的宏,則由于宏是獨(dú)立于使用它的窗體和報(bào)表的對(duì)象的,因此會(huì)變得難以維護(hù)。相反地,由于VRA事件過(guò)程創(chuàng)建在窗體或報(bào)表的定義中,因此如果把窗體或報(bào)表從一個(gè)數(shù)據(jù)庫(kù)移動(dòng)到另一個(gè)數(shù)據(jù)庫(kù),則它們所帶的事件過(guò)程也會(huì)同時(shí)移動(dòng)。又如,使用VBA可以創(chuàng)建自己的函數(shù),通過(guò)這些函數(shù)可以執(zhí)行表達(dá)式難以勝任的復(fù)雜計(jì)算,或者用來(lái)代替復(fù)雜的表達(dá)式。此外,也可在表達(dá)式中使用自己創(chuàng)建的函數(shù)對(duì)多個(gè)對(duì)象進(jìn)行操作。

(責(zé)任編輯:admin)

頂一下
(0)
0%
踩一下
(0)
0%
推薦內(nèi)容
發(fā)表評(píng)論
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
評(píng)價(jià):