




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第9章
Access2007宏對象設計本章學習目標:了解宏對象的基本概念,學習宏的基本知識掌握創建宏對象的方法掌握修改宏對象的方法掌握執行和調試宏的方法掌握宏在其他數據庫對象中的調用方法學習宏對象的其他應用方法在第7章中,我們已經看到窗體上的命令按鈕控件對于單擊事件相應的方法是一段VBA程序,而在這樣的VBA程序中往往存在著類似于這樣的語句:
DoCmd.OpenFormstDocName,,,stLinkCriteria這條VBA語句的含義是:DoCmd表示執行一個操作,OpenForm表示需要執行的操作名稱,“stDocName,,,stLinkCriteria”表示這個操作所帶有的操作參數。那么,Access2007具有一些什么樣的操作呢?這些操作各自要求一些什么樣的操作參數呢?如果需要順序執行一系列的操作,又該如何組織這些操作呢?等等,等等,這就是本章所要介紹的知識。第9章Access2007宏對象設計9.1Access2007基本操作
Access2007總共支持52種操作,Access2007幫助文檔將其分為5種不同的類別。在此我們介紹其中常用的16種基本操作,并將其分為5種類別進行介紹。9.1.1記錄操作類1.GotoRecord操作2.FindRecord操作3.FindNext操作GotoRecord是直接移動記錄指針的操作,操作指令格式為:
GotoRecord對象類型,對象名稱,記錄,[偏移量]其中:“對象類型”可用以指定為數據表、查詢或窗體,如果不加指定則默認為當前活動對象?!皩ο竺Q”可根據“對象類型”的指定,可以指定一個對應的數據表對象名、查詢對象名或窗體對象名,如果不加指定,則默認為當前活動對象?!坝涗洝睘楸剡x項,可以指定為向前移動、向后移動、首記錄、尾記錄、定位或新記錄?!捌屏俊睘槿芜x項,當需要設定時,可以設定為一個整數值n。當“記錄”參量設定為“向前移動”時,它表示記錄指針向前移動n個記錄;當“記錄”參量設定為“向后移動”時,它表示記錄指針向后移動n個記錄;當“記錄”參量設定為“定位”時,它表示記錄指針移動至第n個記錄。
1.GotoRecord操作9.1.1記錄操作類2.FindRecord操作FindRecord是采用查找方式移動記錄指針的操作,操作指令格式為:FindRecord查找內容,匹配,區分大小寫,搜索,格式化搜索,只搜索當前字段,從第一條查找其中:“查找內容”參量應該填寫需要在當前字段中查找的數據,其數據類型應與當前字段的數據類型相同?!捌ヅ洹睉撛凇罢麄€字段的任何部分”、“整個字段”和“字段開頭”三個選項中選擇一個?!皡^分大小寫”可以在“是”和“否”兩個選項中選擇一個。“搜索”參量用以指定是從當前的記錄向記錄開頭進行搜索還是向記錄結尾進行搜索,或是向下搜索到記錄結尾然后再從記錄開頭搜索到當前記錄?!案袷交阉鳌眳⒘坑靡灾付ㄊ欠袼阉靼瑤Ц袷降臄祿?。可選擇“是”或“否”。“只搜索當前字段”用以指定是在每條記錄的當前字段中進行搜索還是在每條記錄的所有字段中進行搜索?!皬牡谝粭l查找”用以指定是從第一條記錄還是從當前記錄開始搜索。9.1.1記錄操作類3.FindNext操作使用FindNext操作,可以查找下一個記錄,該記錄符合由前一個FindRecord操作或“在字段中查找”對話框所指定的準則,單擊“編輯”菜單中的“查找”命令可以打開該對話框。使用FindNext操作可以反復查找記錄。例如,可以在某一特定客戶的所有記錄間進行移動。其操作指令格式為:FindNext
FindNext操作沒有任何參數。FindNext操作查找下一個記錄,該記錄符合由FindRecord操作或“在字段中查找”對話框中設置的準則。FindRecord操作的參數與“在字段中查找”對話框中的選項是共享的。9.1.1記錄操作類9.1.2窗體操作類2、Close操作3、Maximize操作1、Openform操作4、Minimize操作5、MoveSize操作1.
OpenForm操作使用OpenForm操作,可以從窗體“設計”視圖、“打印預覽”或“數據表”視圖中打開一個窗體,選擇窗體的數據輸入與窗口方式并限制窗體所顯示的記錄。其操作指令格式為:OpenForm窗體名稱,視圖,篩選名稱,Where條件,數據模式,窗口模式其中:“窗體名稱”是指打開窗體的名稱。在“宏”窗口的“操作參數”節中的“窗體名稱”框中顯示了當前數據庫中的全部窗體。這是必選的參數。如果在程序數據庫中執行包含OpenForm操作的宏,MicrosoftAccess2007將首先在程序數據庫中查找具有該名稱的窗體,然后再到當前數據庫中查找。9.1.2窗體操作類2.
Close操作使用Close操作可以關閉指定的MicrosoftAccess窗口,這個窗口可以是一個運行著的窗體視圖、數據表視圖、查詢視圖、報表視圖、宏對象視圖等等。如果沒有指定窗口,則關閉當前的活動窗口。其操作指令格式為:
Close對象類型,對象名稱,保存其中:“對象類型”用以指定要關閉的窗口中的對象類型。“對象名稱”用于指定要關閉的對象名稱?!氨4妗庇糜跊Q定關閉窗口時是否要保存對這個對象的各項更改。9.1.2窗體操作類3.Maximize操作使用Maximize操作可以放大活動窗口,使其充滿MicrosoftAccess窗口。該操作可以使用戶盡可能多地看到活動窗口中的對象。其操作指令格式為:
Maximize
Maximize操作沒有任何參數。該操作與單擊窗口右上角的“最大化”按鈕或控制菜單中的“最大化”命令具有相同的功能。9.1.2窗體操作類4.Minimize操作使用Minimize操作可以將活動窗口縮小為MicrosoftAccess窗口底部的小標題欄。其操作指令格式為:
Minimize
Minimize操作沒有任何參數。該操作與單擊窗口右上角的“最小化”按鈕或控制菜單中的“最小化”命令具有相同的功能。9.1.2窗體操作類
5.
MoveSize操作使用MoveSize操作可以移動活動(當前)窗口或調整其大小。其操作指令格式為:
MoveSize右,下,寬度,高度其中:“右”用以指定當前窗口左上角的新水平位置,從包含它的窗口的左邊開始測量?!跋隆庇糜谥付ó斍按翱谧笊辖堑男麓怪蔽恢?,從包含它的窗口頂部開始測量。“寬度”用于指定當前窗口的新寬度?!案叨取庇糜谥付ó斍按翱诘男赂叨取?.1.2窗體操作類9.1.3報表操作類1、OpenReport操作2、關閉報表對象的操作3、PrintOut操作使用OpenReport操作可以在報表“設計視圖”或報表“打印預覽視圖”中打開報表對象或打印報表,也可以限制需要在報表中打印的記錄。其操作指令格式為:
OpenReport報表名稱,視圖,篩選名稱,Where條件其中:“報表名稱”是指打開報表的名稱?!耙晥D”是指打開報表的視圖類型?!昂Y選名稱”用于限制報表記錄的篩選??梢暂斎胍粋€已有的查詢名稱或保存為查詢的篩選名稱?!癢here條件”用以指定一個SQLWHERE子句(不包含WHERE關鍵字)或邏輯表達式。OpenReport將根據這個SQL子句或邏輯表達式從報表的基礎表或基礎查詢中選擇記錄,并以這樣選定的記錄集作為打開報表的數據源。1、OpenReport操作9.1.3報表操作類關閉報表對象的操作就是“Close操作”,具體用法參見9.1.2小節所述。2、關閉報表對象的操作9.1.3報表操作類使用PrintOut操作可以打印一個打開數據庫中的當前活動對象,也可以打印數據表、報表、窗體和數據訪問頁和模塊。其操作指令格式為:PrintOut打印范圍,開始頁碼,結束頁碼,打印品質,份數,自動分頁“打印范圍”用以設定報表數據的打印范圍。其默認值為“全部”。“開始頁碼”用以設定報表數據打印的起始頁?!敖Y束頁碼”用以設定報表數據打印的終止頁,“打印品質”用以設定報表數據的打印品質。可在“高品質”、“中品質”、“低品質”或“草稿”四個選項中選取一種?!胺輸怠庇靡栽O定報表數據的打印份數,默認值為“1”?!白詣臃猪摗庇靡栽O定報表數據是否分頁打印??梢赃x擇“是”(表示自動分頁)或選擇“否”(表示不自動分頁)。默認值為“是”。3、PrintOut操作9.1.3報表操作類9.1.4應用程序類2、RunMacro操作3、RunApp操作1、RunCommand操作使用RunCommand操作可以運行MicrosoftAccess的內置命令。所謂內置命令是指出現在MicrosoftAccess菜單欄、工具欄或快捷菜單上的那些功能程序。其操作指令格式為:
RunCommand命令其中:“命令”用以指定要運行的命令?!懊睢眳悼驗橐粋€下拉式列表框,其中按字母順序排列著所有可用的MicrosoftAccess內置命令,可以根據需要從中選取希望調用的內置命令。該參數是必需的。
1、RunCommand操作9.1.4應用程序類使用RunMacro操作可以運行一個獨立的宏或者一個位于宏組中的宏。其操作指令格式為:
RunMacro宏名,重復次數,重復表達式其中:“宏名”用以指定所要運行的宏的名稱。如果宏在宏組中,那么宏將以MacroGroupName.MacroName的形式列在宏組名稱下面。該參數是必選的。“重復次數”用以指明所要運行的宏的最大運行次數。如果不指定該參數(并且不指定“重復表達式”參數),在“宏名”參數欄中指定的宏將只運行一次?!爸貜捅磉_式”用于設置一個運行宏的重復運行條件,重復表達式的取值為True(-1)或False(0)。當重復表達式值為False時宏將停止運行。每次宏運行之前都將先計算該表達式值。
2、RunMacro操作9.1.4應用程序類使用RunApp操作可在MicrosoftAccess2007中運行一個Windows或MS-DOS應用程序,如MicrosoftExcel,MicrosoftWord或
MicrosoftPowerPoint等。例如,有可能要將電子表格數據粘貼到MicrosoftAccess2007數據庫中,就可以調用MicrosoftExcel的復制/粘貼程序以達到操作目的。其操作指令格式為:
RunApp命令行其中:“命令行”用以指定所要運行的應用程序(命令行應包括路徑和其他所需參數,例如用于以特定的方式運行應用程序的開關)。請在“宏”窗口“操作參數”窗格上的“命令行”框中鍵入命令行,該參數是必選的。
3、RunApp操作9.1.4應用程序類9.1.5雜項類2、MsgBox操作1、Quit操作使用Quit操作可以退出MicrosoftAccess。Quit操作還可以指定在退出MicrosoftAccess之前保存當前數據庫對象中的幾個選項。其操作指令格式為:
Quit選項其中:“選項”用以指定當退出MicrosoftAccess時對沒有保存的對象所作的處理。可以在“宏”窗口“操作參數”窗格中的“選項”框選定具體參數。提供選擇的“選項”參數包括:“提示”(顯示是否保存每個對象的提示對話框)、“全部保存”(不經提示即保存所有對象)或“退出”(退出時不保存任何對象)。其默認值為“全部保存”。該參數是必需的。
1、Quit操作9.1.5雜項類使用MsgBox操作可以顯示包含警告信息或其他信息的消息框。例如,可以在有效性驗證的宏中使用MsgBox操作。當控件或記錄不符合宏中的驗證條件時,消息框將顯示錯誤信息,并提示應該輸入的正確數據。其操作指令格式為:
MsgBox消息,發嘟嘟聲,類型,標題其中:“消息”用以指定消息框中的文本。“發嘟嘟聲”用以指定計算機是否在顯示信息時發出嘟嘟聲?!邦愋汀毕⒖虻念愋?。每一種類型都有不同的圖標。可選擇“無”、“重要”、“警告?”、“警告!”或“信息”,默認值為“無”。“標題”用以指定消息框標題欄中顯示的文本。如果不指定本參數,那么標題欄顯示MicrosoftAccess。
2、MsgBox操作9.1.5雜項類9.2宏對象概述現在的問題是,一項數據處理工作并不是僅用一個操作即可完成的,它常常需要若干個操作組成一個操作序列,方能完成這項數據處理工作。那么,如何組織這樣一種操作序列、這樣一個操作序列當如何保存、又當如何去調用它呢?
Access2007的設計者們為我們提供了“宏”這樣一種Access2007對象,使其可以包容一系列的操作,并使其可以被其他對象所調用。同時,如同其他Access2007對象一樣,宏對象的創建與設計也可以在其專用的設計視圖中方便地進行。由于宏對象實際上是一個容器對象,其間包含著一個操作序列以及操作參數和操作執行的條件,因此,可以使用宏來作為處理某一事件的方法。例如在“零售商店管理系統”中的“銷售數據錄入”窗體底部,我們設置了一個命令按鈕“柜存信息”,其響應單擊事件的方法即為一個名為“柜存信息”的宏對象。總之,宏對象的作用就是為某一些簡單的事件響應提供事件處理方法。9.2.1宏對象的作用宏對象是獨立于窗體對象、查詢對象等能夠感受事件的Access2007對象,如此,只要宏對象設計完美,其操作代碼的公用性可能會很好。最后,宏對象還有一種不可替代的功能:啟動Access2007數據庫時自動運行,響應某些組合式功能鍵等等。9.2.1宏對象的作用宏是用來自動完成特定任務的操作或操作集,即一個或多個操作的集合,其中每個操作執行特定的功能。用戶可以通過創建宏對象來自動執行一項重復的或者較為繁雜的操作,從而完成一個指定的任務。通過宏的自動執行重復任務的功能,可以保證工作的一致性,還可以避免由于忘記某一操作步驟而引起的錯誤。但是,宏對象的執行效率較低,Microsoft建議將宏對象轉換為VBA程序模塊,以提高代碼的執行效率。在MicrosoftAccess2007中,我們可以利用Office按鈕菜單上的【另存為】|【對象另存為】菜單項,將指定的宏對象轉換為VBA程序模塊。其操作過程為:9.2.2將宏對象轉換為VBA程序模塊首先,創建一個宏對象。9.2.2將宏對象轉換為VBA程序模塊圖9-2-1“宏1”的設計參數示意接著,我們來嘗試著將這個宏對象轉換為模塊對象。9.2.2將宏對象轉換為VBA程序模塊圖9-2-2將宏對象轉換為VBA程序模塊的操作對話框9.3宏對象設計Access2007宏對象設計在其設計視圖中進行,實質上是一種編寫程序的過程,但由于采用的是人機對話過程,因而不同于傳統的代碼編程方式。在宏對象設計過程中,完全不需涉及設計宏的代碼,也沒有太多的語法需要去掌握,甚至可以不需記憶各種命令。真正需要去做的就是在宏的操作設計列表中進行合適的操作選擇,并為所選定的操作設置必要的參數。本節介紹宏對象的設計操作方法。進入宏設計視圖可能出于兩種不同的要求:創建一個新的宏對象;修改一個宏對象的設計參數。
關于新建一個宏對象。首先在數據庫設計視圖中單擊窗口功能區內的“創建”選項卡,接著在其中的“其他”邏輯組中單擊“宏”按鈕,即進入宏設計視圖。然后在宏設計視圖中選擇相關操作,并為每一個操作設定參數,參見圖9-2-1所示,完成宏對象所包含的各項操作及其參數設定。最后關閉宏對象設計視圖,并為這個新創建的宏對象命名,即完成了一個宏對象的創建操作。
關于修改一個宏對象的設計參數。首先應該在數據庫設計視圖的導航窗格內選定需要修改設計參數的宏對象,然后單擊鼠標右鍵,在彈出的快捷菜單上單擊【設計視圖】菜單項,即進入這個選定宏對象的設計視圖。9.3.1宏設計視圖圖9-3-1“銷售記錄”宏對象的設計視9.3.1宏設計視圖“宏設計視圖”窗口中除了窗口功能區的“宏工具-設計”選項卡和導航窗格以外,窗口主體區內分為上下兩部分,分別為設計區和操作參數區,它的結構和Access2007“表設計視圖”的結構相似,使用F6鍵可以在兩個區中移動光標。在宏設計視圖上半部分即設計區,可以在其中定義宏名、選定操作、確定各條操作執行的條件、填寫備注文字。設計區包含四個參數列,分別為“宏名”、“條件”、“操作”和“備注”。9.3.1宏設計視圖1.宏名列在“宏名”列中,可以給每個宏指定一個名稱。這是由于一個宏對象可以是一個宏組,其間包含若干個宏。為了在宏組中區分各個不同的宏,需要為每一個宏指定一個宏名。2.條件列在“條件”列中,可以指定每一條操作的執行條件。一般可以利用“表達式生成器”設定操作的執行條件。3.操作列在“操作”列中,應該從52個Access2007操作中選定一個操作。有些常用的基本操作已經在9.1小節中介紹過了,其余的可以參見Access2007幫助。4.備注列在“備注”列中,可以填入文字,這些文字將用來幫助說明每個操作的功能,以便于以后對宏的修改和維護。9.3.1宏設計視圖宏設計視圖設計區的“條件”列,用來設置操作的執行條件,操作的執行條件可用于控制宏的操作流程。在不指定操作條件的情況下,運行一個宏時,Access2007將順序執行宏中包含的所有操作。若某一操作的執行是有條件的,即只有當條件成立時方執行,而當條件不成立時就不執行,則應在該操作行的條件列內給定一個邏輯表達式。在執行這個宏中的任一操作時,Access2007將首先判斷該操作的執行條件是否成立。若條件成立,則執行該操作;若條件不成立,則不執行該操作;接著轉去執行下一個操作??梢酝ㄟ^以下的操作步驟為各個操作指定其執行條件。9.3.2設置操作執行的條件1.在宏設計視圖的設計區中顯示條件列在“宏工具-設計”選項卡內的“顯示/隱藏”邏輯組中單擊“條件”按鈕“
”,使其呈反白色。此時,宏設計視圖的設計區中增加一列:“條件列”。2.選擇所需的操作,并設定該操作所需的操作參數選擇操作可以通過操作列的下拉列表框完成,然后在操作參數區內逐一設定各項操作參數。3.在“條件”列中設置操作執行條件在“條件”列中為需要設置條件的操作行設置執行條件的操作過程為:在對應操作行的“條件列”中鍵入相應的邏輯表達式;或者單擊右鍵,在彈出的快捷菜單中選擇“生成器”命令,再在“表達式生成器”中建立邏輯表達式。注意:在“條件列”中不可輸入其他類型的表達式(比如算術表達式等),也不能使用SQL語句。9.3.2設置操作執行的條件在宏設計視圖的設計區中,“操作列”是用來輸入宏中所需操作的。在“操作列”選擇操作的方式是:單擊需要設置操作的“操作列”,在該“操作列”列表框的右側會出現一個下拉按鈕,單擊此按鈕,彈出的下拉列表中有52個可供選擇的操作,如圖9-3-2所示。在這個下拉列表中,我們可以直接選擇所需的操作。因為一個宏中可能包含若干個操作,而宏中的操作將會順序執行,所以一定要安置好各個操作的排列順序。應該將需要先執行的操作置于需要后執行的操作的上一行。選定一個操作后,在宏設計視圖下端的“操作參數”區中會出現與該操作對應的操作參數設置表。9.3.3選擇操作并給定操作參數圖9-3-2在宏1中選擇一個操作的方法9.3.3選擇操作并給定操作參數應該這樣來理解宏對象:一個宏對象是Access2007數據庫對象中的一個二級容器對象,其間可以包含若干個宏,而一個宏又是由若干個操作組成的。因此,我們可以將若干個宏設計在一個宏對象中,這個宏對象即稱為一個宏組。一個宏對象具有自己的對象名稱,而其中的每一個宏也具有一個書寫在“宏名列”中的惟一名稱。9.3.4宏組的設計圖9-3-3“銷售記錄宏組”宏對象的設計參數9.3.4宏組的設計可以在“零售商店管理信息系統”數據庫中設計一個宏對象,命名為“進貨數據”,且令其僅包含一個具備兩個操作的宏,這兩個操作分別為:OpenForm操作(打開數據庫中的“商品進貨數據記錄”窗體)和MoveSize操作(將打開的“商品進貨數據記錄”窗體尺寸做一個調整)。以下,我們以這個“進貨數據”宏對象設計為例說明Access2007宏對象的設計方法。為了在宏中設置一個打開數據庫對象的操作,Access2007為用戶提供了兩種不同的方法進行設置:1.采用選擇OpenForm操作,然后設置操作參數的方式創建操作2.采用拖動數據庫對象的方法向宏中添加打開對象的操作9.3.5在“零售商店管理信息系統”數據庫中設計宏對象創建宏可以按照設計的一般過程,先指定操作,再為每個操作設置相應的操作參數。創建過程如下:(1)選定操作單擊“操作”列中的列表框標志,然后從Access所提供的宏操作列表中選取所需的宏操作——OpenForm操作。(2)設置操作參數選定操作后即可在宏設計視圖窗口下端的參數區中對操作參數進行設置。選定OpenForm操作后,宏設計視圖窗口下端出現如圖9-3-4所示的操作參數屬性表,其中包括“窗體名稱”、“視圖”、“篩選名稱”、“Where條件”、“數據模式”和“窗口模式”這六個選項。(3)添加MoveSize操作并設置操作參數
MoveSize的操作參數包括:“右”、“下”、“寬度”和“高度”共四個。1.采用選擇OpenForm操作,然后設置操作參數的方式創建操作圖9-3-4OpenForm操作及其操作參數1.采用選擇OpenForm操作,然后設置操作參數的方式創建操作圖9-3-5MoveSize操作及其操作參數1.采用選擇OpenForm操作,然后設置操作參數的方式創建操作采用拖動數據庫對象的方法向宏中添加打開對象的操作,可以按照如下步驟進行:(1)打開宏設計視圖在數據庫設計視圖的窗口功能區內選定“創建”選項卡,接著在其中的“其他”邏輯組中單擊“宏”按鈕“
”,即進入宏設計視圖。(2)實施拖動Access對象至宏設計區中“操作列”在“導航窗格”中選取相應的Access2007對象,并將其拖移到宏設計區中“操作列”內。如果拖移的是某個宏,將添加執行此宏的操作RunMacro。如果拖移的是其他Access2007對象,例如,表、查詢、窗體、報表或模塊,將添加打開這個Access2007對象的操作OpenReport、OpenQuery、OpenForm等等。2.采用拖動數據庫對象的方法向宏中添加打開對象的操作9.4宏對象的編輯創建完畢一個宏之后,還常常需要對開始創建的宏進行編輯,添加新的操作、刪除不必要的操作、修改已有操作或不正確的操作參數、重新排列相關操作的執行順序等。諸如此類的編輯需求即稱為宏對象編輯。當完成了一個宏的基本設計之后,還常會根據實際中的需要再向宏中添加一些新的操作。例如,對于一個已經創建好的宏“庫存記錄”,其中僅有一個操作OpenForm,用以打開“庫存數據查詢”窗體?,F需要在這個操作執行之前,增加一個操作MsgBox,用以在打開窗體之前,提供一個提示信息,使得操作者能夠理解執行這個宏將會產生的動作。下面即以此為例說明對宏添加操作的方法。9.4.1添加操作1.進入“庫存記錄”宏設計視圖為了對其進行編輯操作,需要在數據庫設計視圖窗口中的“導航窗格”內選中它,并單擊鼠標左鍵,然后在其快捷菜單中單擊“設計視圖”菜單項,即進入“庫存記錄”宏設計視圖窗口。2.在OpenForm操作前增加一行如果新添加的操作可以設置在其他操作之后,即可在“設計”窗口的“操作”列中單擊最下面的第一個空白行;如果宏中有多個操作,且新添的操作位于兩個操作行之間,則單擊插入行下面的操作行的行選定器,然后在“宏工具-設計”選項卡的“行”邏輯組內單擊“插入行”按鈕。3.設定MsgBox操作及其操作參數在新插入的操作行中,單擊操作列右端的下拉箭頭顯示操作列表,從列表中選取要使用的操作MsgBox,然后在其對應的操作參數區中填寫所需要的參數值。9.4.1添加操作圖9-4-1“庫存記錄”宏設計視圖
9.4.1添加操作在宏設計視圖中,刪除一個操作的過程如下。1.選定欲刪除的操作在宏設計視圖的設計區中,單擊需要刪除的操作所在行的行選定器。2.刪除選定的操作刪除一個選定的操作可以有兩種方式:在“宏工具-設計”選項卡的“行”邏輯組內單擊“刪除行”按鈕“
”;或單擊鼠標右鍵,在彈出的快捷菜單中選擇【刪除行】菜單項。在宏中刪除一個操作的同時,Access2007將同時刪除與該行操作相對應的所有操作參數。9.4.2刪除操作1.更換已經設定的操作選取宏設計區中的那個需要更改操作的行,單擊出現在該行“操作列”右端的向下箭頭以打開對應的下拉式列表,從中選取實際所需的操作,則可根據需要進行操作的重新設定。2.修改操作參數選定需要修改其操作參數的操作行,可在該操作對應的“操作參數”區中修改其操作參數。3.修訂操作執行條件令光標停留在需要修訂其執行條件的操作行上的“條件列”內,單擊鼠標右鍵,在隨即彈出的快捷菜單中單擊【生成器】選項,出現“表達式生成器”對話框。對于設置操作執行條件,我們只能設置邏輯表達式。圖9-4-2所示為“銷售記錄”宏中MsgBox操作的執行條件。9.4.3操作及其參數和執行條件的編輯圖9-4-2“銷售記錄”宏中MsgBox操作的執行條件設置對話框9.4.3操作及其參數和執行條件的編輯1.采用剪切復制的方法首先,在設計視圖中單擊需要重排位置的行選定器,接著在窗口功能區中“開始”選項卡上單擊“剪貼板”邏輯組中的“剪切”按鈕
;然后,單擊應該放置的行位置,接著在窗口功能區中“開始”選項卡上單擊“剪貼板”邏輯組中的“粘貼”按鈕
。即可完成將一個操作從原來順序位置處調整至新位置處的操作。2.采用拖曳的方法在設計視圖中單擊需要重排位置的行選定器,然后在該行選定器上按住鼠標左鍵不放,將其拖曳至應該放置的位置處放開鼠標左鍵,完成將一個操作從原來順序位置處調整至新位置處的操作。9.4.4重排操作順序9.5宏對象的調試與運行設計完成一個宏對象后,即可以運行它以執行其中的各個操作。當運行宏時,MicrosoftAccess2007會從一個宏對象的開始處執行,逐一執行宏對象中第一個宏中的所包含的全部操作,直到執行完這個宏的最后一個操作。顯然,如果一個宏對象是一個宏組,直接運行這個宏對象,將只會執行其中的第一個宏。除了可以直接運行宏外,也可以從其他宏或事件處理程序中運行宏。在一般情況下,Access2007數據庫應用系統都是采用窗體控件響應外部事件的方法來運行一個宏。例如,可以將宏運行的命令附加在窗體的某一個命令按鈕上,即令該命令按鈕對單擊(Click)事件的響應程序中包含運行某一個宏的命令行。這樣,當單擊該按鈕時即可運行這個指定的宏。也可采用相似的方法創建自定義菜單命令或工具欄按鈕來運行宏。直接運行一個宏的方法有3種,其目的一般都是為了觀察宏的執行效果,用以確定宏設計的正確性。(1)在“宏”設計視圖窗口的“宏工具-設計”選項卡中,單擊“工具”邏輯組內的“運行”按鈕“
”來運行指定的宏對象。(2)在“數據庫”設計視圖窗口的“導航窗格”內雙擊相應的宏對象名來運行這個宏對象。(3)在“數據庫”設計視圖窗口的“導航窗格”內選中一個宏對象,單擊鼠標右鍵,在其快捷菜單上單擊“運行”菜單項來運行這個宏對象。9.5.1直接運行宏為了測試一個宏對象設計的正確性,往往需要逐個觀察宏中每一個操作執行的情況,這就需要設定宏的單步執行狀態。使用單步執行宏可以觀察到宏的流程和每一個操作的執行結果,據此,我們可以找到排除導致錯誤或產生非預期結果的處理方法。以下說明如何設定宏的單步執行狀態,如何進行宏的單步執行,以及如何觀察單步執行過程中的各個操作執行情況。9.5.2單步執行宏1.設定宏的單步執行狀態在宏設計視圖窗口中,“宏工具-設計”選項卡的“工具”邏輯組內有一個“單步”按鈕。初始狀態下,這個按鈕呈凸起形式,這表示宏的連續執行狀態。單擊這個“單步”按鈕,使其呈凹下形式,即可設定宏的單步執行狀態。2.單步執行宏中的各個操作在已經設定了宏的單步執行狀態的情況下,執行任一個宏都是以單步方式執行的。例如,在已經設定了宏的單步執行狀態后,可以在“銷售記錄”宏設計視圖中,單擊“運行”按鈕,出現“單步執行宏”對話框,如圖9-5-1所示。9.5.2單步執行宏圖9-5-1“單步執行宏”對話框9.5.2單步執行宏3.觀察每一個操作執行前的狀態在宏的單步執行狀態下,執行宏中的每一個操作之前,Access2007都會顯示一個稱為“單步執行宏”的對話框,在這個對話框中顯示當前待執行操作的各項操作參數及其操作條件的邏輯值,據此可以觀察一個操作執行前的執行狀態。圖9-5-1所示即為“銷售記錄”宏中第一條操作OpenForm的執行參數,它表明執行條件為“真”,并將以普通窗體形式打開“銷售數據錄入”窗體。在圖9-5-1所示對話框中單擊“單步執行”按鈕
,可執行OpenForm操作。接著將準備執行“銷售記錄”宏中第二條操作MsgBox,這時在“單步執行宏”的對話框中顯示操作MsgBox的執行參數:執行條件為“真”等等。9.5.2單步執行宏圖9-5-2“銷售記錄”宏中第二條操作MsgBox的執行參數9.5.2單步執行宏4.“單步執行宏”對話框中各個按鈕的功能“單步執行”按鈕
:單擊該按鈕后,Access2007將運行宏中的當前操作,如果沒有錯誤發生,則Access2007將在“單步執行宏”對話框中顯示下一個操作的名稱及其操作參數?!巴V顾泻辍卑粹o
:單擊該按鈕將終止宏的執行,并且關閉“單步執行宏”對話框?!袄^續”按鈕
:單擊該按鈕將放棄單步執行方式,依次執行宏中所有未執行的其他操作,同時取消宏的單步執行狀態。如果要在宏執行過程中暫停宏的執行,然后再以單步執行宏,可按Ctrl+Break。9.5.2單步執行宏9.5.3設計窗體控件以事件響應方式執行宏1.設計窗體控件執行宏2.利用窗體控件向導設計宏1.設計窗體控件執行宏
Access2007窗體控件是一些可以感知事件,并可調用某種方法處理事件的Access2007對象。窗體控件可以調用的方法包含兩類:VBA程序和宏。此處介紹設定窗體控件調用宏的設計方法。如果希望將一個窗體控件的事件處理方法指定為一個宏,首先須保證這個宏的存在并正確,有關這一點,我們已經在前面的各節中介紹過了。假定我們已經設計完成了一個名為“柜存信息”的宏,它可以在給出提示后打開“商品柜存信息查詢”窗體。如圖9-5-3所示。9.5.3設計窗體控件以事件響應方式執行宏圖9-5-3“銷售記錄”宏中第二條操作MsgBox的執行參數9.5.3設計窗體控件以事件響應方式執行宏圖9-5-4在“銷售數據錄入”窗體上設置命令按鈕“柜存信息”的單擊事件處理方法9.5.3設計窗體控件以事件響應方式執行宏2.利用窗體控件向導設計宏(1)利用窗體控件向導創建宏在設置完畢一個窗體控件后,在其屬性對話框事件卡的相應事件文本框中,單擊鼠標右鍵,隨即彈出快捷菜單。在這個快捷菜單上單擊【生成器】菜單項,彈出“選擇生成器”對話框,如圖9-5-5所示。在“選擇生成器”對話框中選定“宏生成器”,并單擊“確定”按鈕
,進入宏設計視圖窗口。如此即可為這個窗體控件設置一系列對應的宏操作。設置完畢,可以關閉宏設計視圖。這時,Access2007并不將其保存為一個宏對象,而是將其保存為一個“嵌入的宏”,該窗體控件對應的“事件”屬性行中會顯示這個“嵌入的宏”,以便對其進行編輯操作。9.5.3設計窗體控件以事件響應方式執行宏圖9-5-5“選擇生成器”對話框9.5.3設計窗體控件以事件響應方式執行宏(2)利用窗體控件事件編輯器編輯宏如果一個窗體控件的處理事件方法已經指定為一個“嵌入的宏”,但是還需要修改這個宏中所包含的操作,這就需要重新編輯修改宏了。為此,可以在窗體的屬性對話框事件卡中單擊相應事件方法框右側的“生成器”按鈕
,直接進入這個宏的“宏”設計視圖,即可在其中進行對這個宏的編輯修改操作。9.5.3設計窗體控件以事件響應方式執行宏9.6宏對象的其他應用Access2007數據庫中的宏對象可用于很多方面,例如前面幾節介紹的為窗體控件提供事件處理方法就是其中之一。除此以外,我們還可以利用宏來生成VBA程序、利用一個特殊的宏來使得一旦某一數據庫對象被打開時即可首先執行一系列特定的操作、利用宏來響應組合式快捷鍵,等等。由于宏的設計過程是一個人機對話的過程,它不要求設計者刻意地記憶命令、參數及其相關語法,因此是一種非常方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年元宇宙社交平臺界面設計創新與用戶體驗提升報告
- 2025屆湖北省武漢市部分學校英語七下期末達標檢測試題含答案
- 2025年醫院信息化建設與電子病歷系統智能化的融合趨勢報告
- 2025年醫藥物流合規運營與信息化建設市場前景研究報告
- 2025年醫藥企業研發外包(CRO)在罕見病藥物研發中的應用報告
- 2025年河南省舞鋼市七年級英語第二學期期末監測試題含答案
- 哈爾濱市平房區2025屆英語八下期末檢測試題含答案
- 2025年裝備制造業自主創新能力與智能制造融合研究報告
- 安全試題及答案下載
- 安全生產知識考試題及答案
- 全國行業職業技能競賽(電力交易員)考試題庫及答案
- DB50-T 1293-2022 松材線蟲病疫木除治技術規范
- 2024年北京中考地理試卷
- 《市政養護工程施工方案》
- 液化石油氣站規章制度2024
- (安全生產)煤礦安全生產監管檢查清單
- 無菌技術操作評分標準
- 車庫租賃合同
- 重慶市開州區2023-2024學年六年級下學期期末數學試卷
- 勞動合同終止備忘錄
- 沖壓機構及送料機構設計-
評論
0/150
提交評論