Access教程 第七章 宏

本章內容
 
◆ 宏的概念和功能
◆ 宏的建立和應用
 
宏是一個或多個操作的集合,其中每個操作執行特定的功能。如果用戶頻繁地重複同一系列操作,就可以創建宏來執行這些操作。宏由一些操作和命令組成,這些操作和命令用來完成自動化操作。用戶可以通過創建宏來自動執行某一項重複的或者複雜的任務。
在創建宏時,就定義了一系列任務,只要啓用宏,Access就執行了這些任務。
 
一、宏的功能
 
宏是一種功能強大的工具,可用來在Access 2003 中自動執行許多操作。通過宏的自動執行重複任務的功能,可以保證工作的一致性,還可以避免由於忘記某一操作步驟而引起的錯誤。宏節省了執行任務的時間,提高了工作效率。
宏的具體功能如下:
◆ 顯示和隱藏工具欄。
◆ 打開和關閉表、查詢、窗體和報表。
◆ 執行報表的預覽和打印操作以及報表中數據的發送。
◆ 設置窗體或報表中控件的值。
◆ 設置Access工作區中任意窗口的大小,並執行窗口移動、縮小、放大和保存等操作。
◆ 執行查詢操作,以及數據的過濾、查找。
◆ 爲數據庫設置一系列的操作,簡化工作。
 
 
二、創建宏
 
    單擊數據庫窗口的【宏】選項卡中的【新建】按鈕,即可打開宏的定義窗口和宏的設計工具欄。
 
1.宏設計的基礎知識
 
【宏設計】工具欄:
 
 
【宏名】    顯示宏定義窗口中的“宏名”列。
【條件】    顯示宏定義窗口中的“條件”列。
【插入行】 在宏定義表中設定的當前行的前面增加一空白行。
【刪除行】 刪除當前行。
【運行】    運行宏。
【單步】    單步運行宏。
【生成器】 設置宏的操作參數。
 
宏定義窗口如下:
 
 
默認情況下,宏定義窗口上面部分由兩列組成:操作和註釋列。
【操作】列      在此列中輸入宏中所有操作,運行時將按照輸入順序執行操作。
【註釋】列      在此列中輸入對應操作的備註說明。
【宏名】列      在此列中輸入宏的名稱,在多個操作的宏組中這一列是必選的。
【條件】列      在此列中輸入條件表達式,以決定運行宏的條件。
【操作參數列】 用以設定操作的相關參數。
 
在操作列中,提供了50多種操作,用戶可以從這些操作中做選擇,創建自己的宏。而對於這些操作,用戶可以通過查看幫助,從中瞭解每個操作的含義和功能。
 
⑴ 在宏中添加操作
主要操作說明:
AddMenu  將菜單添加到窗體或報表的自定義菜單欄,菜單欄中每個菜單都需要一個獨立的AddMenu操作。此外,也可以爲窗體、窗體控件或報表添加自定義快捷菜單,或爲所有的窗口添加全局菜單欄或全局快捷菜單。
ApplyFilter  對錶、窗體或報表應用篩選、查詢或SQL WHERE子句,以便對錶的記錄、窗體、報表的基礎表或基礎查詢中的記錄進行相應的操作。對於報表,只能在其“打開”事件屬性所指定的宏中使用該操作。
Beep 可以通過計算機的揚聲器發出嘟嘟聲,一般用於警告聲。
CancelEvent  取消一個事件,該事件導致Access執行包含宏的操作。
Close    關閉指定的Access窗口。如果沒有指定窗口,則關閉活動窗口。
CopyObject   將指定的數據庫對象複製到另外一個Access數據庫(.mdb)中。或以新的名稱複製到同一數據庫或Access項目(.adp)中。
CopyDatabaseFile 爲當前的與Access項目連接的SQL Server 7.0或更高版本數據庫作副本。
DeleteObject 刪除指定的數據庫對象。
Echo 指定是否打開回響。例如:可以使用該操作在宏運行時隱藏或顯示運行結果。
FindNext 查找下一個符合前一個FindRecord操作或【在字段中查找】對話框中指定條件的記錄。
FindRecord   查找符合FindRecord參數指定條件的數據的第一個實例。該數據可能在當前的記錄中,在之前或之後的記錄中,也可以在第一個記錄中,還可以在活動的數據表、查詢數據表、窗體數據表或窗體中查詢記錄。
 
⑵ 設置操作參數
選定操作後,在【操作參數】區域會出現相應的操作參數。可以在各操作參數對應的文本框中輸入數值,以設定操作參數的屬性。如上圖中。也可以使用表達式生成器生成的表達式設置操作參數。
 
⑶ 創建宏組
如果有多個宏,可將相關的宏設置成宏組,以便於用戶管理數據庫。使用宏組可以避免單獨管理這些宏的麻煩。
 
在數據庫窗口中的宏名稱列表中將顯示宏組名稱。如果要指定宏組中的某個宏,應使用如下結構:【宏組名.宏名】。
 
⑷ 宏中的條件操作
有時用戶可能希望僅僅在某些條件成立的情況下才在宏中執行某個或某些操作。宏中的條件可以達到這個目的。
 
2.創建AutoKeys宏
Autokeys宏通過按下指定給宏的一個鍵或一個鍵序觸發。爲AutoKeys宏設置的鍵擊順序稱爲宏的名字。例如:名爲F5的宏將在按下F5鍵時運行。
命名AutoKeys宏時,使用符號“^”表達Ctrl鍵。下表列出了可用來運行AutoKeys宏的組合鍵的類型:
 
語法            說明                    示例
————————————————————————
^number         Ctrl+任一數字           ^3
F*              任一功能鍵              F5
^F*             Ctrl+任一功能鍵         ^F5
+F*             Shift+任一功能鍵        ↑F5
————————————————————————
 
創建AutoKeys宏時,必須定義宏將執行的操作,如打開一個對象,最大化一個窗口或顯示一條消息。另外還需要提供操作參數,宏在運行時需要這種參數,如要打開的數據庫對象、要最大化的窗口或要在對話框中顯示的消息的名稱。
下面舉例說明:
 
◆ 新建宏,顯示宏名列,在宏名列中輸入宏名“^1”,在操作列中選擇操作。
 
 
◆ 選擇操作OpenForm,設置相應的參數。
 
◆ 用同樣的方法建立其它三個宏。
 
 
 
◆ 以AutoKeys爲宏保存宏組。
 
    這時只需按下Ctrl+1就會打開【供應商】窗體,Ctrl+2最大化該窗體,Ctrl+3最小化該窗體,Ctrl+4關閉該窗體。
 
3.創建條件宏
 
條件宏是滿足一定條件後才運行宏。利用條件宏可以顯示一些信息,如僱員輸入了訂單卻忘記了輸入僱員號,則可利用宏來提醒僱員輸入遺漏的信息。或者進行數據的有效性檢查。
要創建條件宏,需要向【宏】窗口添加【條件】列,單擊【宏設計】工具欄上的【條件】按鈕,並輸入使條件起作用的宏的規則即可。如果設置的條件爲真,宏就運行。如果設置的條件爲假,就轉到下一個操作。
下面舉例說明:
 
◆ 新建宏,顯示條件列,輸入條件。選擇操作和參數。
 
 
◆ 以名MoreThan1000保存宏,並關閉之。
 
◆ 在設計窗口打開“僱員銷售明細金額窗體”,並在金額控件的屬性中設置事件。
 
 
 
◆ 金額超過1000元時,將鼠標進入金額框再離開時,有如下提示:
 
 
 
 
 
4.創建事件宏
 
事件是在數據庫中執行的操作,如單擊鼠標、打開窗體或打印報表。可以創建只要某一事件發生就運行宏。例如在使用窗體時,可能需要在窗體中反覆地查找記錄,打印記錄,然後前進到下一條記錄。可以創建一個宏來自動地執行這些操作。
Access 2003 可識別大量的事件,但可用的事件並非一成不變,這取決於事件將要觸發的對象類型。下表給出了幾個常用的可指定給宏的事件。
 
事件                     說明
————————————————————————————
OnOpen                當一個對象被打開且第1條記錄顯示之前執行
OnCurrent             當對象的當前記錄被選中時執行
OnClick                當用戶單擊一個具體的對象時執行
OnClose                當對象被關閉並從屏幕上清除時執行
OnDblClick           當用戶雙擊一個具體對象時執行
OnActivable           當一個對象被激活時執行
OnDeactivate         當一個對象不再活動時執行
BeforeUpdate         在用更改後的數據更新記錄之前執行
AfterUpdate           在用更改後的數據更新記錄之後執行
————————————————————————————
   
下面舉例說明事件宏的創建。
 
 
 
 
 
 
 
 
 
三、運行宏
 
創建完一個宏後,就可以運行宏執行各個操作。當運行宏時,Access2003 會運行宏中的所有操作,直到宏結束。
可以直接運行宏,或者從其宏或事件過程中運行宏,也可以作爲窗體、報表或控件中出現的事件響應運行宏。也可以創建自定義菜單命令或工具欄按鈕來運行宏,將某個宏設定爲組合鍵,或者在打開數據庫時自動運行宏。
 
1.直接運行宏
 
如果希望直接運行宏,通過雙擊宏名、通過【工具】【宏】|【運行宏】、通過單擊工具欄上的【執行】按鈕等操作,可以直接運行宏。
 
 
2.在宏組中運行宏
 
要把宏作爲窗體或報表中的事件屬性設置,或作爲RunMacro(運行宏)操作中的Macro Name(宏名)說明,可以用如下格式指定宏:
[宏組名.宏名]
 
 
3.從其他宏或VB程序中運行宏
 
如果要從其他的宏或VB過程中運行宏,請將RunMacro操作添加到相應的宏或過程中。
如果要將RunMacro操作添加到宏中,在宏的設計視圖中,請在空白操作行選擇RunMacro選項,並且將MacroName參數設置爲相應的宏名即可。
如果要將RunMacro操作添加到VB過程中,請在過程中添加DoCmd對象的RunMacro方法,然後指定要運行的宏名即可。如語句:DoCmd.RunMacro “My Macro”。
下面看一下RunMacro操作。在下列三種情況下使用這個操作:
◆ 從另一個宏運行宏。
◆ 執行基於某個條件的宏。
◆ 將宏附加到一個自定義的菜單命令上。
RunMacro操作的參數如下:
 
操作參數              描述
————————————————————————————————————
宏名                     執行的宏的名稱
重複次數              宏執行的最大次數。空白爲一次
重複表達式          表達式結果爲True(-1)或False(0)。如果爲假,則宏停止運行。
————————————————————————————————————
   
如果用戶在【宏名】參數中設置宏組名,則會運行組中第一個宏。
 
 
4.從控件中運行宏
 
如果希望從窗體、報表或控件中運行宏,只需單擊設計視圖中的相應控件,在相應的屬性對話框中選擇【事件】選項卡的對應事件,然後在下拉列表框中選擇當前數據庫中的相應宏。這樣在事件發生時,就會自動執行所設定的宏。
例如建立一個宏,執行操作“Quit”,將某一窗體中的命令按鈕的單擊事件設置爲執行這個宏,則當在窗體中點擊按鈕時,將退出Access。
 
5.在菜單或工具欄中運行宏
可以將宏添加到菜單或工具欄中,從而在菜單或工具欄中運行宏。首先選擇【視圖】|【工具欄】|【自定義】命令,Access2003彈出一個【自定義】對話框。將其圖標直接拖動到菜單或工具欄中即可。單擊該宏的圖標即可運行宏。
 
 
6.將一個或一組操作設定成快捷鍵
可以將一個操作或一組操作設置成特定的鍵或組合鍵。可以通過如下步驟來完成:
◆ 在數據庫窗口中單擊【對象】欄下的【宏】按鈕。
◆ 單擊工具欄中的【新建】按鈕。
◆ 單擊工具欄上的【宏名】按鈕。
◆ 在【宏名】列中爲一個操作或一組操作設定快捷鍵。
◆ 添加希望快捷鍵執行的操作或操作組。
◆ 保存宏。
保存宏後,以後每次打開數據庫時,設定的快捷鍵都將有效。
此外還可以創建一個在第一次打開數據庫時運行的特殊的宏:AutoExec宏。它可以執行諸如這樣的操作:打開數據輸入窗體、顯示消息框提示用戶輸入、發出表示歡迎的聲音等。一個數據庫只能有一個名爲AutoExec的宏。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章