數(shù)據(jù)庫及應(yīng)用基礎(chǔ):第7章 宏_第1頁
數(shù)據(jù)庫及應(yīng)用基礎(chǔ):第7章 宏_第2頁
數(shù)據(jù)庫及應(yīng)用基礎(chǔ):第7章 宏_第3頁
數(shù)據(jù)庫及應(yīng)用基礎(chǔ):第7章 宏_第4頁
數(shù)據(jù)庫及應(yīng)用基礎(chǔ):第7章 宏_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫及應(yīng)用基礎(chǔ)第7章宏學(xué)習(xí)目標(biāo)

通過本章的學(xué)習(xí),應(yīng)該了解(1)宏的概念及分類。(2)創(chuàng)建宏。(3)創(chuàng)建宏組。(4)宏的幾種運行方式。(5)宏的編輯和調(diào)試。(6)宏的運用。主要內(nèi)容7.1宏的概述7.2宏的創(chuàng)建7.3宏的執(zhí)行和調(diào)試7.4事件驅(qū)動7.5使用宏創(chuàng)建菜單7.1宏概述

在處理Access數(shù)據(jù)庫對象的過程中,往往需要重復(fù)執(zhí)行某些任務(wù)或操作。例如,向表中添加記錄時,需要打開同一個窗體,為了簡化操作步驟,可以將這些重復(fù)執(zhí)行的任務(wù)或操作組織在一個宏中,在應(yīng)用時直接調(diào)用和運行宏,自動地執(zhí)行集成在宏中的各項操作。

7.1宏概述

宏并不直接處理數(shù)據(jù)庫中的數(shù)據(jù),它是組織Access數(shù)據(jù)庫對象的工具。

在Access數(shù)據(jù)庫中,表、查詢、窗體和報表這4個對象,各自具有強大的數(shù)據(jù)處理功能,能獨立地完成數(shù)據(jù)庫中的特定任務(wù),但是它們各自獨立工作,不能相互協(xié)調(diào)相互調(diào)用,使用宏可以將這些對象有機地整合在一起,完成特定的任務(wù)。

7.1.1宏的概念

宏是Access中執(zhí)行特定任務(wù)的操作和操作集合,其中的每個操作實現(xiàn)特定的功能,是由Access本身提供的。宏可以是包含操作序列的一個宏,也可以是多個宏組成的宏組。使用條件表達式可以決定在某些條件下運行宏時,某個操作是否執(zhí)行。

創(chuàng)建宏的目的是自動處理某一項或者一系列任務(wù),可以將任務(wù)當(dāng)作一個或多個基本操作的集合,其中每個基本操作都能單獨實現(xiàn)某一項特定的功能,如打開窗體,關(guān)閉窗體等。如圖所示是一個含有3個操作的宏。

(1)打開某個窗體(2)顯示一個信息提示框(3)關(guān)閉窗體。當(dāng)執(zhí)行這個宏時,將自動執(zhí)行這3個操作。通過宏的自動重復(fù)執(zhí)行操作的能力,無需編寫程序就可以設(shè)計出具有一定功能的數(shù)據(jù)庫應(yīng)用系統(tǒng)。

在Access中,共有80多種基本操作可供宏選擇使用和執(zhí)行。在實際操作過程中,很少單獨使用一個宏命令,往往將這些命令組合在一起按照順序依次執(zhí)行以完成一項特定的任務(wù)。這些命令的執(zhí)行可以通過窗體或表中控件的某個事件來觸發(fā),也可以在數(shù)據(jù)庫的運行過程中自動實現(xiàn)。7.1.2常用的宏操作Access2010提供了80多個宏操作命令。根據(jù)宏的用途將它們分成以下8類。(1)窗口管理命令。(2)宏命令。(3)篩選/查詢/搜索命令。(4)數(shù)據(jù)導(dǎo)入導(dǎo)出命令。(5)數(shù)據(jù)庫對象命令(6)數(shù)據(jù)輸入命令(7)系統(tǒng)命令(8)用戶操作命令。宏操作主要功能AddMenu創(chuàng)建菜單欄或快捷菜單AddlyFilter用篩選、查詢或SQL語句的Where子句來選擇表、窗體或報表中顯示的記錄Beep使計算機的揚聲器發(fā)出嘟嘟聲CancelEvent取消引起宏操作的事件Close關(guān)閉指定的數(shù)據(jù)庫對象,包括表、查詢、窗體、報表或模塊窗口CopyObject復(fù)制數(shù)據(jù)庫對象DeleteObject刪除數(shù)據(jù)庫對象Echo運行宏時,顯示或不顯示狀態(tài)信息FindRecord在表、查詢或窗體中查找指定條件的第一條記錄FindNext依據(jù)FindRecord操作使用的查找準(zhǔn)則查找下一條記錄GotoControl將光標(biāo)移動到窗體中特定的控件上GotoPage將光標(biāo)移動到窗體中特定頁的第一個控件上GotoRecord在表、查詢或窗體中,添加新記錄或?qū)⒐鈽?biāo)移動到指定的記錄Hourglass當(dāng)運行宏時,鼠標(biāo)指針顯示為沙漏狀Maximize最大化活動窗口Minimaze最小化活動窗口MoveSize移動或調(diào)整活動窗口的尺寸表7-1宏操作(部分)宏幾乎可以實現(xiàn)數(shù)據(jù)庫的所有操作。(1)打開和關(guān)閉表、查詢、窗體等對象。(2)執(zhí)行報表的顯示、預(yù)覽和打印功能。(3)執(zhí)行查詢操作及數(shù)據(jù)篩選功能。(4)設(shè)置窗體中控件的屬性值。(5)執(zhí)行菜單上的選項命令。(6)顯示和隱藏工具欄。7.1.3宏的功能

宏的創(chuàng)建方法與其它Access數(shù)據(jù)庫對象一樣,都可以在設(shè)計視圖窗口中進行。在創(chuàng)建宏的過程中,主要工作是設(shè)置宏所包含的操作和相應(yīng)的參數(shù)。7.2宏的創(chuàng)建創(chuàng)建宏時,首先打開宏的設(shè)計窗口,其操作步驟如下:(1)打開數(shù)據(jù)庫。(2)選擇“創(chuàng)建”選項卡的“宏與代碼”組,單擊“宏”按鈕

,打開“宏”設(shè)計器窗口,同時打開“操作目錄”面板,如圖所示。7.2.1宏的設(shè)計視圖

宏設(shè)計窗口供用戶設(shè)計宏使用,用戶設(shè)計的宏所包含的所有操作都會顯示在宏設(shè)計窗口中。在“操作目錄”面板中,分類列出了所有的宏操作命令,設(shè)計宏時可以直接選擇所需要的命令。

宏通常有宏操作名稱和參數(shù)組成,當(dāng)選擇或直接輸入宏操作命令后,系統(tǒng)會自動展開宏并顯示該命令的相關(guān)參數(shù)。

在使用宏命令時,除了正確使用宏操作的名稱,還應(yīng)具體的命令根據(jù)需要設(shè)置相應(yīng)的參數(shù),用戶在使用時要詳細(xì)了解操作參數(shù)的含義?!緦嵗?-1】在“選課管理”數(shù)據(jù)庫中,創(chuàng)建一個宏,其功能為打開“教師信息”窗體,顯示所有職稱為“教授”教師記錄?!静僮鞑襟E】(1)打開數(shù)據(jù)庫“選課管理”。(2)選擇“創(chuàng)建”選項卡中的“宏與代碼”組,單擊“宏”按鈕,系統(tǒng)將自動創(chuàng)建名為“宏1”的宏,同時打開“宏設(shè)計”窗口。(3)在“添加新操作”列表框中選擇宏命令“OpenForm”,展開操作參數(shù)。7.2.2宏的創(chuàng)建(4)設(shè)置操作參數(shù)。在操作參數(shù)窗口中,使用“窗體名稱”的下拉式按鈕選擇窗體名稱“教師信息”,在“視圖”選項中選擇“窗體”,在“當(dāng)條件”選項中輸入表達式“[職稱]="教授"”,數(shù)據(jù)模式設(shè)置為“只讀”,如圖所示。

(5)單擊“保存”按鈕,打開“另存為”對話框,在“宏名稱”文本框中輸入“打開教師信息窗體”,然后單擊“確定”按鈕,宏設(shè)計完成。(6)單擊“執(zhí)行”按鈕

,查看宏運行的結(jié)果。

如果在一個宏中有多個宏操作,則按照上面的方法逐個添加宏名稱以及設(shè)置相應(yīng)的參數(shù)。

宏組是指一個宏文件中包含一個或多個宏,這些宏稱為子宏。在宏組中,每個子宏都是獨立的,互不相關(guān)。將功能相近或操作相關(guān)的宏組織在一起構(gòu)成宏組,可以為設(shè)計數(shù)據(jù)庫應(yīng)用程序帶來方便。宏組也是Access數(shù)據(jù)庫中的對象。

在宏組中,每個子宏都必須定義一個唯一的名稱,以方便調(diào)用。

創(chuàng)建宏組與創(chuàng)建宏的方法基本相同,需要打開宏設(shè)計窗口,所不同的是在創(chuàng)建過程中為每個子宏命名,為每個宏指定宏的名稱。7.2.3宏組的創(chuàng)建【實例7-2】在“選課管理”數(shù)據(jù)庫中,創(chuàng)建一個宏組,其中包括4個宏操作,分別是打開學(xué)生表、打開學(xué)生信息瀏覽窗體、打開“學(xué)生名單”報表和關(guān)閉窗體?!静僮鞑襟E】(1)打開數(shù)據(jù)庫“選課管理”。(2)選擇“創(chuàng)建”選項卡中的“宏與代碼”組,單擊“宏”按鈕,打開“宏設(shè)計”窗口。(3)在“操作目錄”窗格中,將程序流程中的子宏命令“SubMacro”拖到“添加新操作”組合框中,在子宏名稱文本框中,默認(rèn)名稱為“Sub1”,將該名稱改為“打開學(xué)生表”,在“添加新操作”組合框中選擇命令“Opentable”,設(shè)置表名稱為“學(xué)生”,視圖為“數(shù)據(jù)表”,數(shù)據(jù)模式為“只讀”,如圖所示。

(4)用同樣的方法添加其余的宏,設(shè)置相應(yīng)的操作參數(shù),設(shè)置結(jié)果如圖所示。每個宏的操作參數(shù)設(shè)置如表7-2所示

宏名宏操作操作參數(shù)打開學(xué)生表OpenTable表名:學(xué)生;視圖:數(shù)據(jù)表;數(shù)據(jù)模式:只讀打開學(xué)生信息窗體OpenForm窗體名稱:學(xué)生信息瀏覽;視圖:窗體;數(shù)據(jù)模式:只讀,窗口模式:普通打開學(xué)生報表OpenReport報表名稱:學(xué)生名冊;視圖:打?。淮翱谀J剑浩胀P(guān)閉學(xué)生表CloseWindows對象類型:表;對象名稱:學(xué)生;保存:是(4)單擊“保存”按鈕,打開“另存為”對話框,在“宏名稱”文本框中輸入“宏組學(xué)生表操作”,然后單擊“確定”按鈕,宏設(shè)計完成。

宏組的運行需通過對象的事件觸發(fā)。當(dāng)直接運行宏時,只執(zhí)行最前面的宏。宏與宏組的區(qū)別:(1)宏是由宏操作構(gòu)成的,而宏組是由宏構(gòu)成的。(2)宏組中的子宏必須命名,而宏不需要。(3)宏在運行時,所有的宏操作按順序執(zhí)行;而宏組在運行時只執(zhí)行最前面的宏。

條件宏是指在宏中的某些操作帶有條件,當(dāng)執(zhí)行宏時,這些操作只有在滿足條件時才得以執(zhí)行。對數(shù)據(jù)進行處理時,可能希望僅當(dāng)滿足特定的條件時才在宏中執(zhí)行某個操作,在這種情況下,可以使用條件來控制宏的流程。宏在執(zhí)行時能對條件進行測試,并在條件為真時運行指定的宏操作。

7.2.4條件宏的創(chuàng)建【實例7-3】在實例7-2中所創(chuàng)建的宏中添加一個新功能,在打開報表之前提示用戶確認(rèn),提示信息為“請打開打印機”?!静僮鞑襟E】(1)打開數(shù)據(jù)庫“選課管理”及實例7-2中所創(chuàng)建的宏“宏組學(xué)生表操作”。(2)選擇宏操作“打開學(xué)生報表”,在“操作目錄”窗格中將程序流程中的子宏命令“if”拖到子宏名稱的下方,然后將宏操作“OpenReport”拖動到“添加新操作文本框中”,在“if”后的文本框中輸入表達式“MsgBox(”請打開打印機!“,1)=1”,如圖7-7所示。(3)單擊“保存”按鈕,打開“另存為”對話框,在“宏名稱”文本框中輸入“條件宏學(xué)生表操作”,然后單擊“確定”按鈕,宏設(shè)置完成。

注:表達式的含義是,在彈出的消息框(如圖7-8)中顯示信息“請打開打印機!”以及“確定”和“取消”按鈕,當(dāng)用戶單擊“確定”按鈕時,執(zhí)行宏操作OpenReport

前面所創(chuàng)建的宏獨立于窗體、報表之外,稱為獨立宏,與之相反,嵌入宏嵌入在窗體、報表或控件的事件中,是所嵌入對象的一部分,因此嵌入宏在導(dǎo)航窗格中是不可見的。

通常,將宏的執(zhí)行與窗體中命令按鈕的單擊事件相結(jié)合,當(dāng)單擊窗體中的命令按鈕時,執(zhí)行相應(yīng)的宏操作。

7.3創(chuàng)建嵌入宏

事件是一種特定的操作,在某個對象上發(fā)生或?qū)δ硞€對象發(fā)生。

MicrosoftAccess可以響應(yīng)多種類型的事件:鼠標(biāo)單擊、數(shù)據(jù)更改、窗體打開或關(guān)閉及許多其他類型的事件。事件的發(fā)生通常是用戶操作的結(jié)果。事件過程是由宏或程序代碼構(gòu)成的用于處理引發(fā)的事件或由系統(tǒng)觸發(fā)的事件運行過程。7.4.1事件的概念A(yù)ccess數(shù)據(jù)庫對象能夠響應(yīng)許多類型的事件,響應(yīng)方式由每一個對象的內(nèi)部所含行為決定。Access事件可以由特定對象的屬性來識別,并根據(jù)該操作決定觸發(fā)哪個宏。

Access中的事件可以分為以下幾類。窗口事件、數(shù)據(jù)事件、焦點事件、鍵盤事件、鼠標(biāo)事件、打印事件等。Access可以通過窗體控件和報表的特定屬性識別某一個事件,當(dāng)用戶執(zhí)行Access能識別的事件時,都能夠?qū)е翧ccess執(zhí)行一個宏,這就是所謂的事件觸發(fā)操作。

Access可以對窗體、報表或控件中的多種類型的事件做出響應(yīng),包括單擊鼠標(biāo)、修改數(shù)據(jù)、打開或關(guān)閉窗體以及打印報表等。

7.4.2事件觸發(fā)操作

【實例7-4】創(chuàng)建一個窗體,在窗體中添加4個命令按鈕,其功能分別是打開學(xué)生表、打開學(xué)生信息瀏覽窗體、打開“學(xué)生名單”報表和關(guān)閉窗體,引用實例7-2創(chuàng)建的宏組來實現(xiàn)?!静僮鞑襟E】(1)打開數(shù)據(jù)庫“選課管理”。(2)在數(shù)據(jù)庫中新建一個窗體,添加4個命令按鈕,其標(biāo)題屬性分別設(shè)置為“打開學(xué)生表”、“打開學(xué)生信息窗體”、“打開學(xué)生名單報表”和“關(guān)閉窗體”,如圖所示。

(3)使用命令按鈕控件向?qū)гO(shè)置每個命令按鈕的操作,使用列表框選擇宏組中的宏操作。如圖所示。(4)保存窗體,窗體名稱為“學(xué)生管理”,切換到從窗體視圖,單擊不同的命令按鈕可以運行相應(yīng)的宏操作。7.2.6宏的編輯1.添加宏操作對已經(jīng)創(chuàng)建的宏可以繼續(xù)添加新的宏操作,操作步驟如下:(1)在“導(dǎo)航”窗格中選擇“宏”,右單擊要修改的宏,在彈出的快捷菜單中選擇“設(shè)計視圖”,打開“宏設(shè)計”視圖窗口。(2)添加新的宏操作并設(shè)置相關(guān)的參數(shù)。(3)重復(fù)步驟(2)可以繼續(xù)添加。(4)保存宏。2.刪除宏操作如果需要在已有的宏中刪除宏操作,可采用下列3種方法:(1)選中要刪除的宏,按Delete鍵。(2)右單擊要刪除的宏,在快捷菜單中選擇“刪除”命令。(3)直接單擊宏操作右側(cè)的“刪除”按鈕。3.更改宏操作順序?qū)τ谠O(shè)計好的的宏,可以對其中的宏操作調(diào)整排列順序,操作方法有以下3種。(1)直接拖動要移動的宏操作到需要的位置。(2)選中宏操作,然后按Ctrl+↑和Ctrl+↓鍵(3)選中宏操作,單擊該操作右側(cè)的“上移”和“下移”按鈕。

對于創(chuàng)建的宏或宏組,只有運行后,才可以實現(xiàn)宏的功能,得到宏操作的結(jié)果。在宏運行時有時會出現(xiàn)錯誤或異常情況,需要對宏或宏組進行調(diào)試。此外,用戶可以對已經(jīng)創(chuàng)建的宏進行編輯和修改。7.3宏的執(zhí)行和調(diào)試7.3.1宏的執(zhí)行

創(chuàng)建宏或宏組之后,可以在數(shù)據(jù)庫中運行。運行宏的方式有以下幾種:1.在宏設(shè)計窗口中運行

在宏設(shè)計窗口中,選擇“創(chuàng)建”選項卡中的“宏與代碼”組,單擊“宏”按鈕

可以直接運行已經(jīng)設(shè)計好的宏。2.在數(shù)據(jù)庫窗口中運行

在數(shù)據(jù)庫窗口中,選擇“宏”對象,可以使用下列方法運行宏。(1)雙擊所要運行的宏的名稱。(2)右擊所要運行的宏,在快捷菜單中選擇命令“運行”。3.在Access主窗口中運行

在Access主窗口中,選擇“數(shù)據(jù)庫工具”選項卡中的“宏”組,單擊“運行宏”按鈕

,打開“執(zhí)行宏”對話框,如圖所示,直接在下拉列表框中選擇要執(zhí)行的宏的名稱或直接輸入宏名,然后,單擊“確定”按鈕。4.在其它宏中運行

可以在其它的宏中運行一個已設(shè)計好的宏,其操作方法如下:(1)在宏中添加RunMacro操作。(2)在“宏名”參數(shù)框中輸入要執(zhí)行的宏名。5.自動運行宏Access數(shù)據(jù)庫提供了一個專用的宏Autoexec,又稱其為自動宏。

如果數(shù)據(jù)庫中有名為Autoexec的宏,則在打開數(shù)據(jù)庫時自動運行宏。因此,如果用戶想在打開數(shù)據(jù)庫時自動執(zhí)行某些操作,可以通過自動宏實現(xiàn)。

在宏執(zhí)行時有時會的到異常的結(jié)果,可以使用宏的調(diào)試工具對宏進行調(diào)試,常用的方法是單步執(zhí)行宏,即每次執(zhí)行一個操作。在單步執(zhí)行宏時,用戶可以觀察到宏的執(zhí)行過程以及每一步的結(jié)果,從而發(fā)現(xiàn)出錯的位置并進行修改。7.3.2宏的調(diào)試單步執(zhí)行宏的操作方法如下:(1)打開宏設(shè)計窗口。(2)單擊工具欄上的“單步”按鈕,再單擊“運行”按鈕,打開“單步執(zhí)行宏”對話框,如圖所示。

在“單步執(zhí)行宏”對話框中,顯示了宏名、條件、操作名稱和參數(shù)。通過對這些內(nèi)容進行分析,可以判斷宏的執(zhí)行是否正常。3個按鈕的功能如下:①單步執(zhí)行:執(zhí)行對話框中顯示的宏操作,如果執(zhí)行正常,則執(zhí)行下一個宏操作。②停止:停止宏的執(zhí)行,關(guān)閉對話框。③繼續(xù):關(guān)閉“單步執(zhí)行”模式,執(zhí)行宏中的其余操作。

(3)錯誤處理如果在宏的執(zhí)行過程中出現(xiàn)錯誤,會彈出一個消息框,顯示宏操作的錯誤信息,例如,當(dāng)宏操作“OpenReport”的操作參數(shù)“報表名稱”指定了一個不存在的報表,則執(zhí)行該操作時會打開如圖所示的消息框。

在消息框中,指出了出錯原因并給處理建議。用戶可以根據(jù)實際情況對宏進行修改。7.4使用宏創(chuàng)建菜單

在數(shù)據(jù)庫應(yīng)用系統(tǒng)中,很多功能都可以用菜單的方式實現(xiàn),可以為數(shù)據(jù)庫應(yīng)用系統(tǒng)創(chuàng)建菜單系統(tǒng),在Access2010中,設(shè)計菜單使用宏來實現(xiàn),而菜單系統(tǒng)本身也是依靠宏來運行的。創(chuàng)建菜單使用AddMenu命令,AddMenu命令能夠完成的菜單有3類。(1)自定義快捷菜單:使用自定義快捷菜單,可以替代窗體或報表中的內(nèi)置的快捷菜單。(2)全局快捷菜單:除已經(jīng)添加了自定義快捷菜單的窗體對象外,全局快捷菜單可以替代其余所有沒有設(shè)定的窗體等對象中的默認(rèn)右鍵菜單。(3)“加載項”選項卡的自定義菜單:這種自定義菜單出現(xiàn)在程序的“加載項”選項卡下,可用于特定窗體或報表,也可用于整個數(shù)據(jù)庫。創(chuàng)建自定義菜單的操作步驟如下:(1)為自定義菜單欄上所需的每個下拉式菜單均創(chuàng)建一個包含AddMenu操作的菜單欄宏。(2)為每個菜單創(chuàng)建一個宏組為每個下拉式菜單指定命令。每個命令都運行由該宏組中的一個宏所定義的操作集合。(3)將所有下拉菜單組合到

溫馨提示

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

評論

0/150

提交評論