Access基礎(chǔ)與應(yīng)用教程PPT課件第7章宏_第1頁
Access基礎(chǔ)與應(yīng)用教程PPT課件第7章宏_第2頁
Access基礎(chǔ)與應(yīng)用教程PPT課件第7章宏_第3頁
Access基礎(chǔ)與應(yīng)用教程PPT課件第7章宏_第4頁
Access基礎(chǔ)與應(yīng)用教程PPT課件第7章宏_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第 7 章,宏是Access 數(shù)據(jù)庫對象之一。宏是由一個(gè)或多個(gè)操作組成的集合,其中每個(gè)操作都實(shí)現(xiàn)特定的功能。使用宏可以為數(shù)據(jù)庫的應(yīng)用程序添加許多自動(dòng)化的功能。,宏,第7章 宏,本章主要內(nèi)容,退出,7.1 宏概述 7.2 創(chuàng)建宏 7.3 宏的修改 7.4 運(yùn)行宏和調(diào)試宏 7.5 宏與Visual Basic,1.1 宏概述,宏是由一個(gè)或多個(gè)操作(即Access的命令)組成的集合,其中每個(gè)操作都實(shí)現(xiàn)特定的功能,例如: “OpenQuery”操作命令可打開某個(gè)查詢 “OpenForm”操作命令可打開某個(gè)窗體 “OpenReport”操作命令可打印某個(gè)報(bào)表 在Access 2010 中,如果按照宏創(chuàng)建

2、時(shí)打開“宏設(shè)計(jì)視圖”的方法來分類,宏分為獨(dú)立宏、嵌入宏和數(shù)據(jù)宏。,宏可以由一系列操作組成一個(gè)宏,宏也可以是由若干個(gè)子宏組成一個(gè)宏。每一個(gè)子宏都有自己的宏名并且又可以由一系列操作組成。 在宏中還可以包含由 IF 條件表達(dá)式來控制操作執(zhí)行流程的邏輯塊,用以確定在某些情況下運(yùn)行宏時(shí),是否執(zhí)行某些操作。 對于獨(dú)立宏,一個(gè)獨(dú)立宏有其宏名,并在“導(dǎo)航窗格”的“宏”對象列表中列出。如果該宏中含有子宏,那么該宏中的每一個(gè)子宏都有子宏名。,7.1.1 宏設(shè)計(jì)視圖,盡管在創(chuàng)建獨(dú)立宏、嵌入宏或數(shù)據(jù)宏時(shí),用于打開“宏設(shè)計(jì)視圖”的方法不同,但是各種方法所打開“宏設(shè)計(jì)視圖”大體上是一樣的。 下面以獨(dú)立宏的“宏設(shè)計(jì)視圖”為

3、例來作介紹。 在打開某數(shù)據(jù)庫后的Access 2010窗口中,單擊“創(chuàng)建”選項(xiàng)卡上的“宏與代碼”組中的“宏”按鈕,打開“宏設(shè)計(jì)視圖”。在工作區(qū)上顯出“宏生成器”窗格和“操作目錄”窗格,并在功能區(qū)上顯出“宏工具”下的“設(shè)計(jì)”上下文命令選項(xiàng)卡,如圖7-1所示。 在“宏生成器”窗格中,顯出帶有“添加新操作”占位符的下拉組合框,在該組合框的左側(cè)還顯出一個(gè)綠色的 字。,7.1.1 宏設(shè)計(jì)視圖(續(xù)),7.1.1 宏設(shè)計(jì)視圖(續(xù)),在“操作目錄”窗格中,以樹型結(jié)構(gòu)分別列出“程序流程”、“操作”和“在此數(shù)據(jù)庫中”三個(gè)目錄,及其下層的子目錄或部分宏對象。 (1)程序流程 “程序流程”目錄包括 Comment、G

4、roup、If 和 Submacro。 (2)操作 “操作”目錄包括“窗口管理”、“宏命令”、“篩選/查詢/搜索”、“數(shù)據(jù)導(dǎo)入/導(dǎo)出”、“數(shù)據(jù)庫對象”、“數(shù)據(jù)輸入操作”、“系統(tǒng)命令”和“用戶界面命令”等八個(gè)子目錄(即8組),總共包含66個(gè)操作。 (3)在此數(shù)據(jù)庫中 在“在此數(shù)據(jù)庫中”目錄中,將列出當(dāng)前數(shù)據(jù)庫中已有的宏對象。并且將根據(jù)已有宏的實(shí)際情況,還可能會(huì)列出宏對象上層的“報(bào)表”、“窗體”及“宏”等目錄。,7.1.2 常用的宏操作簡介,Access 2010 提供了66條操作命令,下面僅簡單介紹其中的一些操作,供參考。 1. 窗口管理 (1)CloseWindow (取代了 Access 2

5、003 中的 Close 宏操作) 關(guān)閉指定的窗口。如果無指定窗口,則關(guān)閉激活的窗口。 (2)MaximizeWindow (取代了 Access 2003 中的 Maximize 宏操作) 最大化激活窗口,使其充滿 Access 窗口。該操作可以使用戶盡可能多地看到活動(dòng)窗口中的對象。 (3)MinimizeWindow (取代了 Access 2003 中的 Minimize 宏操作) 以最小化激活窗口,使其縮小為Access窗口底部的標(biāo)題欄。,7.1.2 常用的宏操作簡介(續(xù)),(4)MoveAndSizeWindow (取代了 Access 2003 中的 MoveSize 宏操作) 移

6、動(dòng)并調(diào)整激活窗口。 (5)RestoreWindow (取代了 Access 2003 中的 Restore 宏操作) 將最大化或最小化窗口還原到原來的大小。,7.1.2 常用的宏操作簡介(續(xù)),2. 宏命令 (1)CancelEvent 取消導(dǎo)致該宏(包含該操作)運(yùn)行的Access事件。 (2)ClearMacroError 清除MacroError對象中的上一錯(cuò)誤。 (3)OnError 定義錯(cuò)誤處理行為。 (4)RunCode 執(zhí)行 Visual Basic Function 過程。,7.1.2 常用的宏操作簡介(續(xù)),(5)RunDataMacro 運(yùn)行數(shù)據(jù)宏。 (6)RunMacro

7、 運(yùn)行一個(gè)宏,還可以用該操作從其他宏中運(yùn)行宏。 (7)RunMenuCommand 執(zhí)行Access菜單命令。 (8)StopAllMacros 終止所有正在運(yùn)行的宏。 (9)StopMacros 終止當(dāng)前正在運(yùn)行的宏。,7.1.2 常用的宏操作簡介(續(xù)),3. 篩選/查詢/搜索 (1)FindRecord 查找符合指定條件的第一條或下一條記錄。 (2)OpenQuery 打開選擇查詢或交叉表查詢,或者執(zhí)行動(dòng)作查詢。查詢可以在“數(shù)據(jù)表”視圖、“設(shè)計(jì)”視圖或“打印預(yù)覽”中打開。,7.1.2 常用的宏操作簡介(續(xù)),4. 數(shù)據(jù)導(dǎo)入/導(dǎo)出 (1)ExportWithFormatting 將指定數(shù)據(jù)庫

8、對象中的數(shù)據(jù)輸出為 Excel(.xls)、格式文本(.rtf)、文本(.txt)、HTML(.htm)或快照(.snp)格式。,7.1.2 常用的宏操作簡介(續(xù)),5. 數(shù)據(jù)庫對象 (1)GoToControl 把焦點(diǎn)移到激活數(shù)據(jù)表或窗體上指定的字段或控件上。 (2)GoToRecord 在表、窗體或查詢結(jié)果集中的指定記錄成為當(dāng)前記錄。 (3)OpenForm 在“窗體”視圖、“設(shè)計(jì)”視圖、“打印預(yù)覽”或“數(shù)據(jù)表”視圖中打開窗體。 (4)OpenReport 在“設(shè)計(jì)”視圖或“打印預(yù)覽”中打開報(bào)表,或立即打印該報(bào)表。,7.1.2 常用的宏操作簡介(續(xù)),(5)OpenTable 在“數(shù)據(jù)表”

9、視圖、“設(shè)計(jì)”視圖或“打印預(yù)覽”視圖中打開表。 (6)PrintObject 打印當(dāng)前對象。 (7)PrintPreview 當(dāng)前對象的“打印預(yù)覽”。,7.1.2 常用的宏操作簡介(續(xù)),(8)RepaintObject 在指定對象上完成所有未完成的屏幕更新或控件的重新計(jì)算。如果沒有指定對象,則在活動(dòng)的對象上完成這些操作。 (9)SetProperty (取代了 Access 2003 中的 SetValue 宏操作) 設(shè)置控件屬性。,7.1.2 常用的宏操作簡介(續(xù)),6. 數(shù)據(jù)輸入操作 (1)DeleteRecord 刪除當(dāng)前己錄。 (2)EditListItems 編輯查閱列表中的項(xiàng)。

10、(3)SaveRecord 保存當(dāng)前己錄。,7.1.2 常用的宏操作簡介(續(xù)),7系統(tǒng)命令” (1)Beep 使計(jì)算機(jī)發(fā)出嘟嘟聲,以提醒用戶注意。 (2)CloseDatabase 關(guān)閉當(dāng)前數(shù)據(jù)庫。 (3)QuitAccess (取代了 Access 2003 中的 Quit 宏操作) 退出 Access。可以從幾種保存選項(xiàng)中選擇一種。,7.1.2 常用的宏操作簡介(續(xù)),8. 用戶界面命令 (1)AddMenu 為窗體或報(bào)表將菜單添加到自定義菜單欄。 (2)MessageBox (取代了 Access 2003 中的 MsgBox 宏操作) 顯示含有警告或提示消息的消息框。 (3)Redo

11、重復(fù)最近的用戶操作。 (4)UndoRecord 撤消最近的用戶操作。,7.2 創(chuàng)建宏,在 Access 2010 中,如果按照宏創(chuàng)建時(shí)打開“宏設(shè)計(jì)視圖”的方法來分類,宏可分為獨(dú)立宏、嵌入宏和數(shù)據(jù)宏等三種類型。下面分別介紹各種類型宏的創(chuàng)建方法。,7.2.1 創(chuàng)建操作序列的獨(dú)立宏,操作序列的獨(dú)立宏一般只包含一條或多條操作和一個(gè)或多個(gè)“注釋(Comment)”。宏執(zhí)行時(shí)按照操作的順序一條一條地執(zhí)行,直到操作執(zhí)行完畢為止。 例7-1 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫,創(chuàng)建一個(gè)操作序列的獨(dú)立宏,該宏包含一條注釋和三條操作命令。其中的注釋的內(nèi)容是“創(chuàng)建操作序列的獨(dú)立宏”,第一條操作命令“OpenForm”是打開

12、名為“例5-9瀏覽學(xué)生基本情況”的窗體,第二條操作命令“MaximizeWindow”是自動(dòng)將該打開的窗體最大化,第三條操作命令“MessageBox”是顯出含有“這是操作序列獨(dú)立宏的例子!”消息的消息框。該宏的名稱是“例7-1操作序列的獨(dú)立宏”。,7.2.1 創(chuàng)建操作序列的獨(dú)立宏(例7-1 ),7.2.2 創(chuàng)建含有If塊的獨(dú)立宏,在“宏生成器”窗格中,單擊“添加新操作”組合框右端的下拉按鈕,彈出“操作”的下拉列表,單擊“If”項(xiàng)(或雙擊右側(cè)“操作目錄”窗格中“程序流程”子目錄中的“If”項(xiàng)),展開If塊設(shè)計(jì)窗格,此時(shí)該If塊設(shè)計(jì)窗格自動(dòng)成為當(dāng)前窗格并且由一個(gè)矩形框圍住,在“If”的右邊顯出一

13、個(gè)“條件表達(dá)式”的文本框,用戶可直接在該文本框中輸入需要的一個(gè)條件表達(dá)式。 在該“If”所在行的下一行,顯出一個(gè)(屬于該If塊范圍的)“添加新操作”的組合框,用戶可在該組合框中選定需要的操作并展開該操作塊設(shè)計(jì)窗格,同時(shí)在其下邊,又顯出一個(gè)(還屬于該If塊范圍的)“添加新操作”的組合框,用戶又可在該組合框中選定需要的操作并對該操作進(jìn)行相應(yīng)的設(shè)計(jì),如此類推,在該If塊內(nèi)可設(shè)計(jì)多個(gè)操作。,7.2.2 創(chuàng)建含有If塊的獨(dú)立宏(表7-1),7.2.2 創(chuàng)建含有If塊的獨(dú)立宏(表7-1續(xù)),7.2.2 創(chuàng)建含有If塊的獨(dú)立宏(例7-2 ),例7-2 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個(gè)含有If 塊的獨(dú)立宏

14、, If操作的條件表達(dá)式是“MsgBox(”是否要打開查詢?“, 1)=1”,當(dāng)該條件表達(dá)式的值為True(即單擊了由 MsgBox 函數(shù)打開的對話框中的“確定”按鈕)時(shí),要依次執(zhí)行兩個(gè)操作,其中的第一個(gè)操作“OpenQuery”是打開名為“例4-28查詢女學(xué)生的基本信息”查詢,第二個(gè)操作“Beep”是發(fā)出“嘟”聲音。在If 塊結(jié)束之后(即End If的下一行),還要添加另一個(gè)不屬于該If 塊的MessageBox 操作,該 MessageBox 操作是用于顯出含有“這是含有If塊的獨(dú)立宏例子!”消息的消息框。該宏的名稱是“例7-2含If塊的獨(dú)立宏”。,7.2.2 創(chuàng)建含有If塊的獨(dú)立宏(例7

15、-2 續(xù)),7.2.3 創(chuàng)建If塊內(nèi)含有Else塊的獨(dú)立宏,單擊當(dāng)前 If 塊設(shè)計(jì)窗格的右下角的“添加Else”按鈕,展開Else塊設(shè)計(jì)窗格,此時(shí)該Else塊設(shè)計(jì)窗格自動(dòng)成為當(dāng)前窗格并且由一個(gè)矩形框圍住,同時(shí)在Else左邊顯出一個(gè)“”折疊按鈕。在該Else塊設(shè)計(jì)窗格內(nèi),顯出一個(gè)(屬于該Else塊范圍的)“添加新操作”的組合框。用戶可在該組合框中選定需要的操作并展開該操作塊設(shè)計(jì)窗格,同時(shí)在其下邊,又顯出一個(gè)(還屬于該Else塊范圍的)“添加新操作”的組合框,用戶又可在該組合框中選定需要的操作并對該操作進(jìn)行相應(yīng)的設(shè)計(jì),如此類推,在該Else塊內(nèi)可設(shè)計(jì)多個(gè)操作。,7.2.3 創(chuàng)建If塊內(nèi)含有Else

16、塊的獨(dú)立宏(續(xù)),例7-3 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個(gè)含有If 塊宏,并且在該If 塊中含有一個(gè)Else塊。If操作的條件表達(dá)式是“MsgBox(是否要打開窗體?, 1)=1”,當(dāng)該條件表達(dá)式的值為True(即單擊了由MsgBox 函數(shù)打開的對話框中的“確定”按鈕)時(shí),執(zhí)行“OpenForm”操作,以“窗體”視圖打開名為“例5-9瀏覽學(xué)生基本情況”窗體,當(dāng)該條件表達(dá)式的值為False(即單擊了由MsgBox 函數(shù)打開的對話框中的“取消”按鈕)時(shí),執(zhí)行“OpenQuery”操作,以“數(shù)據(jù)表”視圖打開名為“例4-27查詢學(xué)生全部成績”查詢。該宏的名稱是“例7-3含有If塊及Else塊的獨(dú)

17、立宏”。,7.2.3 創(chuàng)建If塊內(nèi)含有Else塊的獨(dú)立宏(例7-3 續(xù)),7.2.4 創(chuàng)建If 塊內(nèi)含有Else If塊的獨(dú)立宏,在當(dāng)前If 塊設(shè)計(jì)窗格中,單擊其右下角的“添加Else If”按鈕,便在該當(dāng)前塊中添加一個(gè)Else If 塊,并展開 Else If 塊設(shè)計(jì)窗格,此時(shí)該Else If塊設(shè)計(jì)窗格自動(dòng)成為當(dāng)前窗格并且由一個(gè)矩形框圍住。在該Else If塊設(shè)計(jì)窗格內(nèi)的“Else If”右邊,顯出一個(gè)“條件表達(dá)式”的文本框,用戶可直接在該文本框中輸入需要的一個(gè)條件表達(dá)式。在該“Else If”的下一行,顯出一個(gè)(屬于該 Else If 塊范圍的)“添加新操作”的組合框,用戶可在該組合框中選

18、定需要的操作。,7.2.5 創(chuàng)建含子宏的獨(dú)立宏,除了一個(gè)宏僅包含若干個(gè)操作之外,一個(gè)宏還可以包含若干個(gè)子宏,而每一個(gè)子宏又可包含若干個(gè)操作。每一個(gè)宏都有其宏名,每一個(gè)子宏都有其子宏名。引用子宏的格式是“宏名.子宏名”。 通過在宏名后面鍵入一個(gè)英文的句點(diǎn)“.”字符,再鍵入子宏名,可以引用宏中的子宏。例如,若要引用“學(xué)生信息”宏中的“學(xué)生成績”子宏,可鍵入:“學(xué)生信息.學(xué)生成績”。,7.2.5 創(chuàng)建含子宏的獨(dú)立宏,例7-4 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫,創(chuàng)建一個(gè)宏,該宏包含2個(gè)子宏。第1個(gè)子宏的宏名為“查詢子宏”,該宏包括2個(gè)操作,主要用于打開“例4-31統(tǒng)計(jì)全校學(xué)生總?cè)藬?shù)”查詢并使該查詢窗口最大化。

19、第2個(gè)子宏的宏名為“窗體子宏”,該宏包括2個(gè)操作,主要用于打開“例5-7學(xué)系窗體”窗體并發(fā)出“嘟”聲。該宏名為“例7-4含子宏的獨(dú)立宏”。,7.2.5 創(chuàng)建含子宏的獨(dú)立宏(例7-4 續(xù)),7.2.6 創(chuàng)建嵌入宏,嵌入宏是嵌入在窗體或報(bào)表或其控件的事件屬性中的宏。創(chuàng)建嵌入宏有兩種方法。 第一種方法是使用控件向?qū)?chuàng)建控件時(shí),為執(zhí)行某種操作而對該控件的默認(rèn)事件,Access自動(dòng)創(chuàng)建嵌入宏,如第5章中“例5-9瀏覽學(xué)生基本情況”窗體中,使用命令向?qū)?chuàng)建好“下一個(gè)記錄”按鈕后,該按鈕的“單擊”事件屬性值被自動(dòng)設(shè)置為 嵌入的宏。 第二種方法是對某對象的某事件屬性使用宏生成器創(chuàng)建嵌入宏,操作步驟請看下例。,

20、7.2.6 創(chuàng)建嵌入宏(續(xù)),例7-5 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫,創(chuàng)建一個(gè)名為“例7-5含嵌入宏窗體”的窗體,該窗體包含一個(gè)名為“txt1”的文本框和一個(gè)名為“cmd1”并且其標(biāo)題為“歡迎”的命令按鈕。對該命令按鈕的單擊事件創(chuàng)建嵌入宏,當(dāng)運(yùn)行該窗體時(shí),單擊“歡迎”命令按鈕,根據(jù)當(dāng)前時(shí)間所在的范圍(=12 and =18)情況,在txt1文本框中顯出相應(yīng)的“早上好!歡迎光臨!”或“下午好!歡迎光臨!”或“晚上好!歡迎光臨!”。,7.2.6 創(chuàng)建嵌入宏(例7-5續(xù)),7.2.7 創(chuàng)建數(shù)據(jù)宏,Access 2010 新增了數(shù)據(jù)宏。數(shù)據(jù)宏允許用戶在表事件中添加邏輯。通過使用數(shù)據(jù)宏將邏輯附加到您的數(shù)據(jù)中

21、來增加代碼的可維護(hù)性,從而實(shí)現(xiàn)源表邏輯的集中化。數(shù)據(jù)宏包括下面幾種宏:插入后、更新后、刪除后、刪除前、更改前。,7.2.7 創(chuàng)建數(shù)據(jù)宏(續(xù)),例7-6 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,為“課程”表創(chuàng)建一個(gè)“更改前”的數(shù)據(jù)宏,用于限制輸入的“學(xué)分”字段的值不得超過10。在“課程”表的“數(shù)據(jù)表視圖”中的學(xué)分字段輸入的值超過 10(如 12),然后單擊“保存”按鈕時(shí),顯出如圖7-9所示的消息框。,7.2.7 創(chuàng)建數(shù)據(jù)宏(例7-6 續(xù)),圖7-7 例7-6的“創(chuàng)建數(shù)據(jù)宏”菜單,7.2.7 創(chuàng)建數(shù)據(jù)宏(例7-6 續(xù)),圖7-8 例7-6的宏生成器窗格中的宏代碼,7.2.8 創(chuàng)建自動(dòng)執(zhí)行的名為AutoExec

22、的獨(dú)立宏,如果在Access數(shù)據(jù)庫中創(chuàng)建了一個(gè)名為 AutoExec 的獨(dú)立宏,那么在打開該數(shù)據(jù)庫時(shí)將首先自動(dòng)執(zhí)行該AutoExec宏中的所有操作。適當(dāng)設(shè)計(jì)AutoExec宏對象,可以在打開該數(shù)據(jù)庫時(shí)執(zhí)行一些系列的操作,為運(yùn)行該數(shù)據(jù)庫應(yīng)用系統(tǒng)做好需要的初始化準(zhǔn)備,如對初始參量賦予初值、打開應(yīng)用系統(tǒng)的“登錄”窗體等等。,7.2.8 創(chuàng)建自動(dòng)執(zhí)行的名為AutoExec的獨(dú)立宏(續(xù)),創(chuàng)建名為 AutoExec 的獨(dú)立宏的方法與上述創(chuàng)建獨(dú)立宏的方法相似,當(dāng)保存該宏時(shí),指定宏名稱為 AutoExec。該宏保存后,在導(dǎo)航窗格的宏對象列表中便含有 AutoExec 項(xiàng)。 請注意,如果在打開數(shù)據(jù)庫時(shí)想阻止執(zhí)

23、行該 AutoExec 宏,可在打開該數(shù)據(jù)庫時(shí)按住 Shift 鍵不放開,直到數(shù)據(jù)庫打開為止。,7.3 宏的修改,對已經(jīng)創(chuàng)建好的宏,可以打開該宏的設(shè)計(jì)視圖,在“宏生成器窗格”中,對原有的宏代碼可進(jìn)行編輯,如可添加新操作、修改操作、刪除操作、移動(dòng)操作等等。,7.3.1 獨(dú)立宏的修改,打開某個(gè)Access數(shù)據(jù)庫后,右擊“導(dǎo)航窗格”上的“宏”對象列表中的某個(gè)宏名,彈出快捷菜單,單擊該快捷菜單中的“設(shè)計(jì)視圖”,便打開該獨(dú)立宏的“宏設(shè)計(jì)視圖”,并且在“宏生成器窗格”中顯出該宏的原有代碼。此時(shí),在“宏生成器窗格”中,對原有的宏代碼可進(jìn)行編輯修改,如可添加新操作、修改操作、刪除操作、移動(dòng)操作等等。,7.3.

24、2 嵌入宏的修改,打開某個(gè)Access數(shù)據(jù)庫后,右擊“導(dǎo)航窗格”上的“窗體”對象列表中的某個(gè)窗體名,彈出快捷菜單,單擊該快捷菜單中的“設(shè)計(jì)視圖”,便打開該窗體的“設(shè)計(jì)視圖”。雙擊某控件(或窗體選定器),顯出其“屬性表”,在該“屬性表”的事件列表中,單擊屬性值為 嵌入的宏 所在組合框右側(cè)的“”按鈕,便打開該嵌入宏的“宏設(shè)計(jì)視圖”,并且在“宏生成器”窗格中顯出該嵌入宏的宏代碼。此時(shí),在“宏生成器”窗格中,對原有的宏代碼可進(jìn)行編輯修改,如可添加新操作、修改操作、刪除操作、移動(dòng)操作等等。,7.3.3 數(shù)據(jù)宏的修改,打開某個(gè)Access數(shù)據(jù)庫后,右擊“導(dǎo)航窗格”上的“表”對象列表中的某個(gè)表名,彈出快捷菜

25、單,單擊該快捷菜單中的“設(shè)計(jì)視圖”,便打開該表的“設(shè)計(jì)視圖”,并在功能區(qū)上顯出“表格工具”下的“設(shè)計(jì)”命令選項(xiàng)卡,單擊該“設(shè)計(jì)”選項(xiàng)卡上的“字段、記錄和表格事件”組中的“創(chuàng)建數(shù)據(jù)宏”按鈕,彈出“創(chuàng)建數(shù)據(jù)宏”命令下拉列表,(假定原來已經(jīng)創(chuàng)建了“更改前”的數(shù)據(jù)宏)單擊該下拉列表中的某一項(xiàng)(如“更改前”),打開該表的(如“更改前”)“宏設(shè)計(jì)視圖”,并且在“宏生成器”窗格中顯出該表的該(如“更改前”)數(shù)據(jù)宏的宏代碼。在“宏生成器”窗格中,對原有的宏代碼可進(jìn)行編輯修改,如可添加新操作、修改操作、刪除操作、移動(dòng)操作等等。,7.3.4 宏中操作的刪除,在“宏生成器”窗格中,單擊宏代碼中需要?jiǎng)h除的操作名(如

26、MessageBox),該操作的設(shè)計(jì)窗格自動(dòng)成為當(dāng)前窗格并且由一個(gè)矩形框圍住,該操作的設(shè)計(jì)窗格的右上角顯出一個(gè)交叉的“刪除”按鈕,此時(shí)單擊該“刪除”按鈕或者按鍵盤上的“Delete”鍵,便可刪除該操作(即刪除該操作的當(dāng)前設(shè)計(jì)窗格及其所屬內(nèi)容)。,7.3.5 宏中操作的移動(dòng),在“宏生成器”窗格中,單擊宏代碼中需要移動(dòng)位置的操作名(如Beep),該操作的設(shè)計(jì)窗格自動(dòng)成為當(dāng)前窗格并且由一個(gè)矩形框圍住,在該操作的設(shè)計(jì)窗格的右上角,會(huì)自動(dòng)根據(jù)上下文情況相應(yīng)地顯出一個(gè)綠色下箭頭的“下移”按鈕(如圖7-10所示),或者顯出一個(gè)綠色上箭頭的“上移”按鈕和一個(gè)綠色下箭頭的“下移”按鈕這兩個(gè)按鈕(如圖7-11所示

27、),或者顯出一個(gè)綠色上箭頭的“上移”按鈕(如圖7-12所示)。此時(shí),如果單擊“下移”按鈕,便把該操作的設(shè)計(jì)窗格移到其下一個(gè)操作之后;如果單擊“上移”按鈕,便把該操作的設(shè)計(jì)窗格移到其前一個(gè)操作之前。,7.3.5 宏中操作的移動(dòng)(續(xù)),“下移”按鈕,“上移”按鈕,“上移”按鈕,“下移”按鈕,“刪除”按鈕,7.4 運(yùn)行宏和調(diào)試宏,創(chuàng)建了宏后,可運(yùn)行該宏,可調(diào)試該宏。對于含有子宏的宏,如果需要運(yùn)行宏中的任何一個(gè)子宏,則需要用“宏名.子宏名”格式指定某個(gè)子宏。,7.4.1 宏的運(yùn)行,對于不含有子宏的宏,可直接指定該宏名運(yùn)行該宏。 對于含有子宏的宏,如果直接指定該宏名運(yùn)行該宏時(shí),僅運(yùn)行該宏中的第一個(gè)子宏名

28、的宏,該宏中的隨后的其他子宏不會(huì)被運(yùn)行。如果需要運(yùn)行宏中的任何一個(gè)子宏,則需要用“宏名.子宏名”格式指定某個(gè)子宏。,7.4.1 宏的運(yùn)行(續(xù)),當(dāng)運(yùn)行宏過程中,如果宏的操作有誤,則會(huì)顯出 “Microsoft Access”出錯(cuò)信息對話框,形如圖7-13所示。用戶可根據(jù)出錯(cuò)信息提示,對該宏的設(shè)計(jì)進(jìn)行修改,排除錯(cuò)誤。,圖7-13 “Microsoft Access”出錯(cuò)信息對話框示例,7.4.1 宏的運(yùn)行(續(xù)),運(yùn)行宏有如下幾種方法: (1)打開某宏的“設(shè)計(jì)視圖”,單擊“宏工具”下的“設(shè)計(jì)”命令選項(xiàng)卡的“工具”組中的“運(yùn)行”按鈕,可以直接運(yùn)行宏。 (2)在Access 2010窗口中,雙擊“導(dǎo)航

29、窗格”上的“宏”對象列表中的某個(gè)宏名,可以直接運(yùn)行該宏。對于含有子宏的宏,僅運(yùn)行該宏中的第一個(gè)子宏名的宏。,7.4.1 宏的運(yùn)行(續(xù)),(3)在Access 2010窗口中,右鍵“導(dǎo)航窗格”上的“宏”對象列表中的某個(gè)宏名,彈出快捷菜單,單擊快捷菜單中的“運(yùn)行”,可以直接運(yùn)行該宏。對于含有子宏的宏,僅運(yùn)行該宏中的第一個(gè)子宏。,7.4.1 宏的運(yùn)行(續(xù)),(4)在Access 2010窗口中,單擊“數(shù)據(jù)庫工具”標(biāo)題,顯出“數(shù)據(jù)庫工具”選項(xiàng)卡。單擊該選項(xiàng)卡上的“宏”組中的“運(yùn)行宏”按鈕,顯出“執(zhí)行宏”對話框。在“宏名稱”組合框的下拉列表中,列出所有獨(dú)立宏的宏名,對于含有子宏的宏,在該下拉列表中還以“

30、宏名.子宏名”格式列出了所有子宏名,在該下拉列表中選定某個(gè)宏名或子宏名,如圖7-14所示。單擊“執(zhí)行宏”對話框的“確定”按鈕。,7.4.1 宏的運(yùn)行(續(xù)),(5)將窗體、報(bào)表或控件的某個(gè)事件屬性設(shè)為宏的名稱。在某對象的“屬性表”的某個(gè)事件的屬性值組合框的下拉列表中,列出所有獨(dú)立宏的宏名,對于含有子宏的宏,在該下拉列表中還以“宏名.子宏名”格式列出了所有子宏名,在該下拉列表中選定某個(gè)宏名或子宏名。如圖7-15所示。,7.4.1 宏的運(yùn)行(續(xù)),(6)從另一個(gè)宏中運(yùn)行宏。 在“宏生成器”窗格中,單擊“添加新操作”組合框右端的下拉按鈕,彈出“操作”的下拉列表,單擊“RunMacro”項(xiàng),展開 Run

31、Macro 操作設(shè)計(jì)窗格。在“宏名稱”組合框的下拉列表中,列出所有獨(dú)立宏的宏名,對于含有子宏的宏,在該下拉列表中還以“宏名.子宏名”格式列出了所有子宏名,在該下拉列表中選定某個(gè)宏名或子宏名。如圖7-16所示。,7.4.1 宏的運(yùn)行(續(xù)),(7)在 VBA 過程中,使用 DoCmd 對象的 RunMacro 方法運(yùn)行宏。在指定宏名時(shí),對于含有子宏的宏,要用“宏名.子宏名”格式指定某個(gè)子宏名。 運(yùn)行宏的語句格式: DoCmd.RunMacro 宏名 語句格式例子: DoCmd.RunMacro 例7-4-含子宏的獨(dú)立宏. 窗體子宏,7.4.1 宏的運(yùn)行(續(xù)),(8)在打開數(shù)據(jù)庫時(shí)自動(dòng)運(yùn)行宏。 Ac

32、cess中設(shè)置了一個(gè)特殊的宏名AutoExec。AutoExec 代表自動(dòng)加載或處理。 如果在 Access2010 數(shù)據(jù)庫中創(chuàng)建了一個(gè)名為 AutoExec 宏對象,那么在打開該數(shù)據(jù)庫時(shí)將首先自動(dòng)執(zhí)行該 AutoExec 宏中的所有操作。 請注意,如果在打開數(shù)據(jù)庫時(shí)想阻止執(zhí)行該AutoExec 宏,可在打開該數(shù)據(jù)庫時(shí)按住 Shift 鍵不放開,直到數(shù)據(jù)庫打開為止。,7.4.2 宏的調(diào)試,一般來說,在運(yùn)行宏的過程中,當(dāng)執(zhí)行的操作有錯(cuò)誤時(shí),會(huì)顯出相應(yīng)出錯(cuò)信息的消息框。此外,Access 還提供了以“單步執(zhí)行”(即一次只執(zhí)行宏的一個(gè)動(dòng)作)的方式來查找宏中的問題。 使用單步執(zhí)行宏,可以觀察宏的流程和

33、每一個(gè)操作的結(jié)果,方便用戶發(fā)現(xiàn)導(dǎo)致錯(cuò)誤或產(chǎn)生非預(yù)期結(jié)果的原因,從而對該宏的設(shè)計(jì)進(jìn)行修改完善。,7.4.2 宏的調(diào)試(續(xù)),單步執(zhí)行宏的操作步驟如下: (1)打開某個(gè)Access數(shù)據(jù)庫后,右擊“導(dǎo)航窗格”上的“宏”對象列表中的某個(gè)宏名,彈出快捷菜單,單擊快捷菜單中的“設(shè)計(jì)視圖”,顯出“宏設(shè)計(jì)視圖”。 (2)單擊“宏工具”下的“設(shè)計(jì)”命令選項(xiàng)卡的“工具”組中的“單步”按鈕,要確保“單步”按鈕已經(jīng)按下。 (3)單擊“工具”組中的“運(yùn)行”按鈕,顯出“單步執(zhí)行宏”對話框,形如圖7-17所示。,7.4.2 宏的調(diào)試(續(xù)),(4) 請執(zhí)行下列操作之一: 若要執(zhí)行“單步執(zhí)行宏”對話框中所顯示的操作,請單擊“單步執(zhí)行”按鈕。 若要停止宏的運(yùn)行并關(guān)閉“單步執(zhí)行宏”對話框,請單擊“停止所有宏”按鈕。 若要關(guān)閉“單步執(zhí)行宏”對話框并繼續(xù)執(zhí)行宏的未完成部分,請單擊“繼續(xù)”按鈕。,7.5 宏與Visual Basic,在Access中,由于宏可以自動(dòng)執(zhí)行任務(wù)的一個(gè)操作或一組操作,因此,使用宏可以自動(dòng)完成許多任務(wù)。 在Access中,要完成相同的任務(wù)還可以通過 Visual Basic for Applications (VBA)編程來實(shí)現(xiàn)。VBA 是 Visual Basic 的一個(gè)子集。,7.5.1 宏與 VBA編程,在Access應(yīng)用中,是使用宏還是使用VBA編寫應(yīng)用程序,取決于用戶需要完成的任務(wù)。在

溫馨提示

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

評論

0/150

提交評論