Access數(shù)據(jù)庫(kù)程序設(shè)計(jì)(第二版)課件ch7-使用宏實(shí)現(xiàn)自動(dòng)處理_第1頁(yè)
Access數(shù)據(jù)庫(kù)程序設(shè)計(jì)(第二版)課件ch7-使用宏實(shí)現(xiàn)自動(dòng)處理_第2頁(yè)
Access數(shù)據(jù)庫(kù)程序設(shè)計(jì)(第二版)課件ch7-使用宏實(shí)現(xiàn)自動(dòng)處理_第3頁(yè)
Access數(shù)據(jù)庫(kù)程序設(shè)計(jì)(第二版)課件ch7-使用宏實(shí)現(xiàn)自動(dòng)處理_第4頁(yè)
Access數(shù)據(jù)庫(kù)程序設(shè)計(jì)(第二版)課件ch7-使用宏實(shí)現(xiàn)自動(dòng)處理_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章宏學(xué)習(xí)目標(biāo)理解什么是宏根據(jù)實(shí)際情況確定是否需要宏創(chuàng)建宏、宏組及條件宏運(yùn)行與調(diào)試宏對(duì)宏進(jìn)行編輯、刪除及更名等操作通過(guò)事件觸發(fā)宏7.1什么是宏在Access中,可以為宏定義各種類型的操作,它的最重要特點(diǎn)是能夠自動(dòng)處理重復(fù)的任務(wù)。宏不需要記住任何語(yǔ)法,每個(gè)操作參數(shù)都顯示在宏的窗口中。7.1.1宏的基本概念宏是Access數(shù)據(jù)庫(kù)中的一個(gè)對(duì)象。建立宏是為了自動(dòng)處理某一個(gè)或者一系列的任務(wù),可以將任務(wù)當(dāng)作是一個(gè)或多個(gè)基本操作的集合,其中每個(gè)基本操作都能單獨(dú)實(shí)現(xiàn)特定的功能。例如,打開(kāi)窗體或者打印一個(gè)報(bào)表等。如圖7-1所示的是一個(gè)含有三個(gè)操作的宏:在打印預(yù)覽視圖中打開(kāi)報(bào)表打印報(bào)表關(guān)閉報(bào)表

圖7-1一個(gè)宏的實(shí)例7.1.2何時(shí)使用宏一般說(shuō)來(lái),在Access中,任何需要重復(fù)執(zhí)行的任務(wù)都可以使用宏,以簡(jiǎn)化操作、節(jié)約時(shí)間并提高效率。具體而言,在需要執(zhí)行下列任務(wù)時(shí)可以使用宏:將查詢與報(bào)表一起運(yùn)行將多個(gè)窗體和/或報(bào)表一起打開(kāi)在表間移動(dòng)數(shù)據(jù)在單擊命令按鈕時(shí)執(zhí)行操作檢查確認(rèn)窗體的準(zhǔn)確性7.2宏的創(chuàng)建宏的創(chuàng)建方法與其他的Access對(duì)象一樣,都可以在設(shè)計(jì)窗口中進(jìn)行。在創(chuàng)建宏的過(guò)程中要做的主要工作是設(shè)置宏中的操作及相應(yīng)的參數(shù)。7.2.1宏的設(shè)計(jì)視圖要?jiǎng)?chuàng)建宏,首先要打開(kāi)宏的設(shè)計(jì)窗口,操作步驟如下:在一個(gè)打開(kāi)的數(shù)據(jù)庫(kù)窗口中,單擊宏對(duì)象按鈕單擊工具欄中的新建按鈕圖7-2宏設(shè)計(jì)窗口7.2.2創(chuàng)建宏例7-2在高校學(xué)生管理數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)宏。該宏包括三個(gè)操作—打開(kāi)課程信息錄入窗體、顯示成功操作的消息框及把窗體最大化。⑴打開(kāi)宏的設(shè)計(jì)視圖⑵設(shè)置宏的第一個(gè)操作操作過(guò)程單擊第一個(gè)空白行的操作列,Access在單元格的右邊顯示一個(gè)下拉箭頭,單擊箭頭顯示一個(gè)下拉式的操作列表,如圖7-5所示。選擇OpenForm操作。

設(shè)置窗體名稱OpenForm的操作對(duì)象是窗體,所以從這里開(kāi)始往下的操作都是圍繞窗體設(shè)置相應(yīng)的參數(shù)。單擊窗體名稱右側(cè)的下拉箭頭,屏幕顯示一個(gè)可供選擇的窗體名稱列表,選擇其中的課程信息錄入窗體,如圖7-6所示。其他操作參數(shù)均按默認(rèn)設(shè)置,當(dāng)然,也可以根據(jù)實(shí)際需要另行設(shè)置。參數(shù)選擇如圖7-6所示

設(shè)置其他操作及參數(shù)在第2行的操作列,選擇MsgBox,該操作顯示一個(gè)消息框。在操作參數(shù)窗格中有4個(gè)參數(shù),“消息”是消息框中顯示的內(nèi)容,設(shè)置為“窗體正常打開(kāi)”,其他參數(shù)請(qǐng)自行設(shè)置。在第3行的操作列,選擇Maximize,該操作最大化激活窗口。如圖7-7所示。圖7-7有多個(gè)操作的宏設(shè)計(jì)窗口保存單擊工具欄上的保存按鈕,或者關(guān)閉宏設(shè)計(jì)窗口,在彈出的另存為對(duì)話框中輸入“打開(kāi)課程信息錄入窗體”,單擊確定按鈕,如圖7-8所示。7.2.3創(chuàng)建宏組宏組,即一個(gè)宏文件中包含一個(gè)或者多個(gè)宏。與單個(gè)的宏一樣,宏組也是Access數(shù)據(jù)庫(kù)對(duì)象。在數(shù)據(jù)庫(kù)窗口的宏對(duì)象列表中,能夠看到宏組的名稱。宏組內(nèi)的每個(gè)宏都有一個(gè)由用戶指定的唯一名稱。1.創(chuàng)建宏組創(chuàng)建宏組也通過(guò)宏設(shè)計(jì)窗口,但必須激活操作窗格中的宏名欄。例7-3建立一個(gè)宏組并將其命名為“宏組示例_1”,其中包括3個(gè)宏,分別是打開(kāi)學(xué)生信息窗體、打開(kāi)課程信息窗體和關(guān)閉窗體。其中第一個(gè)宏包括打開(kāi)“學(xué)生基本信息窗體”窗體和顯示“成功打開(kāi)學(xué)生基本信息窗體”消息框兩個(gè)操作,第二個(gè)宏包括打開(kāi)“課程信息窗體”窗體和顯示“成功打開(kāi)課程信息窗體”消息框兩個(gè)操作,最后一個(gè)宏執(zhí)行關(guān)閉窗體操作。操作過(guò)程:⑴打開(kāi)宏設(shè)計(jì)窗口⑵激活宏名列選擇主菜單中的視圖、宏名或者選擇工具欄中的宏名按鈕,Access就將宏名一欄添加到操作窗格中⑶創(chuàng)建第一個(gè)宏按例7-1的方法,創(chuàng)建第一個(gè)宏—打開(kāi)學(xué)生信息窗體。在第一行的宏名欄中,輸入宏的名字“打開(kāi)學(xué)生信息窗體”;在操作列中選擇OpenForm,窗體名稱指定為學(xué)生基本信息窗體;在下一行的操作列中選擇MsgBox并設(shè)置相應(yīng)參數(shù),如圖7-9所示。圖7-9創(chuàng)建宏組中的第一個(gè)宏⑷創(chuàng)建宏組中其他宏按照上述方法,在設(shè)計(jì)窗口中創(chuàng)建關(guān)閉窗體及顯示消息兩個(gè)宏,如圖7-10所示。⑸保存宏組單擊工具欄中的保存按鈕,在另存為對(duì)話框中輸入宏組的名稱“宏組示例_1”,單擊確定按鈕即可。2.宏組的運(yùn)行宏組建立后,就可以執(zhí)行宏組中的每一個(gè)宏。通常有以下幾種方法:⑴通過(guò)菜單執(zhí)行選擇數(shù)據(jù)庫(kù)窗口中的“工具”→“宏”→“執(zhí)行宏”命令,在隨后顯示的“執(zhí)行宏”對(duì)話框中,選擇宏組的名稱及其中的宏,即可執(zhí)行。⑵通過(guò)其他的宏調(diào)用可以再設(shè)計(jì)一個(gè)宏,通過(guò)這個(gè)宏調(diào)用宏組中的宏,調(diào)用的語(yǔ)法格式為“宏組名.宏名”。例如,可以設(shè)計(jì)一個(gè)宏,該宏的操作就是執(zhí)行剛剛創(chuàng)建的宏組中的一個(gè)宏—打開(kāi)學(xué)生信息窗體,其格式為“宏組示例_1.打開(kāi)學(xué)生信息窗體”。如果在宏設(shè)計(jì)窗口或者在數(shù)據(jù)庫(kù)窗口中執(zhí)行宏組,只執(zhí)行該宏組中的第一個(gè)宏。7.2.4創(chuàng)建條件宏有時(shí)候,只有當(dāng)某個(gè)特定的條件成立時(shí),才執(zhí)行宏中的一個(gè)或者一系列操作。例如,通過(guò)宏與用戶交互,詢問(wèn)用戶是否需要執(zhí)行下一步操作。這時(shí),就可以使用條件控制宏的執(zhí)行流程,也就是創(chuàng)建條件宏。條件宏也是通過(guò)宏的設(shè)計(jì)窗口創(chuàng)建的,但要在宏窗口中激活條件列。例7-4向例7-3創(chuàng)建的宏中增加一個(gè)新的功能,打開(kāi)窗體前提示確認(rèn)信息。分析

根據(jù)某種條件確定是否執(zhí)行宏操作,即在宏中增加一個(gè)條件。本題中的確認(rèn)信息一般通過(guò)對(duì)話框顯示,再根據(jù)用戶點(diǎn)擊的按鈕判斷用戶是否確認(rèn)。⑴打開(kāi)宏的設(shè)計(jì)視圖在數(shù)據(jù)庫(kù)窗口,選中宏對(duì)象,選擇“宏組示例_1”宏,切換到設(shè)計(jì)視圖。⑵設(shè)置宏的條件選擇“視圖”→“條件”命令,操作窗格中顯示條件列。在“OpenForm”操作前的條件中輸入“MsgBox("確認(rèn)打開(kāi)“學(xué)生基本信息窗體”窗體嗎?",1)=1”,在第二個(gè)操作前的條件中輸入省略號(hào)(“…”),如圖7-11所示。圖7-11設(shè)置宏的條件⑶執(zhí)行宏保存后,執(zhí)行此宏,系統(tǒng)在第一步“OpenForm”操作前執(zhí)行MsgBox函數(shù),然后判斷用戶的選擇,如果選擇的是第一個(gè)按鈕(確定按鈕),那么就執(zhí)行“OpenForm”操作,否則不執(zhí)行,如圖7-12所示。在第二步“MsgBox”操作前,系統(tǒng)根據(jù)第一步操作的選擇判斷是否需要執(zhí)行“MsgBox”。圖7-12條件宏執(zhí)行說(shuō)明在條件列中,省略號(hào)(…)表示如果上一個(gè)操作的條件為真,則執(zhí)行當(dāng)前操作,否則不執(zhí)行7.3宏的編輯、調(diào)試與運(yùn)行創(chuàng)建了一個(gè)宏,并不意味著工作的完成。實(shí)際上,創(chuàng)建的宏可能還存在這樣那樣的問(wèn)題,還需要進(jìn)一步修改。即使從設(shè)計(jì)角度看,沒(méi)有問(wèn)題了,在實(shí)際的運(yùn)行的過(guò)程中,也可能產(chǎn)生意想不到的錯(cuò)誤,需要根據(jù)運(yùn)行中出現(xiàn)的情況進(jìn)行調(diào)試。7.3.1宏的編輯宏在創(chuàng)建好以后,可以根據(jù)需要進(jìn)行修改。大多數(shù)修改都是在宏的設(shè)計(jì)窗口中進(jìn)行。通常包括以下幾個(gè)方面的內(nèi)容。1.通過(guò)設(shè)計(jì)窗口編輯已有的宏按以下步驟操作:在數(shù)據(jù)庫(kù)窗口中選中宏對(duì)象在宏列表中選擇要編輯的宏單擊“設(shè)計(jì)”按鈕2.改變操作的順序如果一個(gè)宏中包含多個(gè)操作,就可能會(huì)希望改變操作的順序。例如,要將圖8.7中的MsgBox操作指定為第一個(gè)操作。操作方法如下:打開(kāi)宏的設(shè)計(jì)窗口單擊操作名左邊的行選擇器選中MsgBox單擊選中的行,拖動(dòng)至第一行3.刪除宏中的操作如果一個(gè)宏中包含多個(gè)操作,其中的有些操作并不一定總是需要的,可以刪除它。操作方法如下:打開(kāi)宏的設(shè)計(jì)窗口單擊行選擇器選中相應(yīng)操作按Delete鍵,或者單擊右鍵選中刪除行4.修改宏的名稱有時(shí)候,由于改變了宏中的操作或者感覺(jué)宏的名字并不合適,可以重新命名。其方法與修改文件名相同。5.刪除宏選中要?jiǎng)h除的宏點(diǎn)擊刪除按鈕在對(duì)話框中確認(rèn)刪除7.3.2宏的運(yùn)行建立了宏以后,可以在Access數(shù)據(jù)庫(kù)中幾個(gè)不同的地方運(yùn)行。1.在宏設(shè)計(jì)窗口中運(yùn)行在宏設(shè)計(jì)窗口中,單擊工具欄中的運(yùn)行按鈕;或者選擇菜單中的“運(yùn)行”項(xiàng),再選擇子菜單中的“運(yùn)行”項(xiàng)。2.在數(shù)據(jù)庫(kù)窗口中運(yùn)行在數(shù)據(jù)庫(kù)窗口中,單擊宏對(duì)象,雙擊所要運(yùn)行的宏;也可以選中要運(yùn)行的宏,單擊鼠標(biāo)右鍵,在彈出的下拉菜單中選擇運(yùn)行命令;或者選中要運(yùn)行的宏以后,單擊工具欄中的運(yùn)行按鈕。如圖7-18所示。圖7-18在數(shù)據(jù)庫(kù)窗口中運(yùn)行宏3.在Access主窗口中運(yùn)行在Access主窗口中選擇“工具”→“宏”→“執(zhí)行宏”命令。屏幕顯示如圖7-19所示的對(duì)話框,輸入或者在下拉列表中選擇要執(zhí)行的宏名。圖7-19在Access主窗口中運(yùn)行宏圖7-20輸入需要執(zhí)行的宏4.在其他宏中運(yùn)行一個(gè)設(shè)計(jì)好的宏也可以在其他的宏中運(yùn)行,操作方法如下:在宏中添加RunMacro操作在宏名參數(shù)中輸入要執(zhí)行的宏的名稱5.自動(dòng)運(yùn)行宏Access數(shù)據(jù)庫(kù)提供了一個(gè)專用的宏名,Autoexec,又被稱為啟動(dòng)宏。如果數(shù)據(jù)庫(kù)中有名為autoexec的宏,則在打開(kāi)該數(shù)據(jù)庫(kù)時(shí)就會(huì)自動(dòng)運(yùn)行。因此,如果用戶想要在打開(kāi)數(shù)據(jù)庫(kù)時(shí)自動(dòng)執(zhí)行某些操作,例如打開(kāi)某個(gè)特定的窗體或者查詢,可以按以下步驟操作:建立一個(gè)宏,其中的操作是用戶希望打開(kāi)數(shù)據(jù)時(shí)自動(dòng)執(zhí)行的保存該宏,并將其命名為Autoexec7.3.3宏的調(diào)試對(duì)于宏組或者比較復(fù)雜的宏,在運(yùn)行中如果出錯(cuò),一般不容易發(fā)現(xiàn)。通過(guò)宏的調(diào)試可以解決這類問(wèn)題。在進(jìn)行宏的調(diào)試時(shí),常用的方法是單步執(zhí)行,即每次只執(zhí)行一個(gè)操作。這樣用戶能夠觀察到宏的執(zhí)行過(guò)程以及每一步操作的結(jié)果,從而比較容易地發(fā)現(xiàn)出錯(cuò)的位置并找出其原因。例7-8在高校學(xué)生管理數(shù)據(jù)庫(kù)有一個(gè)已創(chuàng)建的宏,宏名為“打開(kāi)課程信息錄入窗體”,通過(guò)單步操作對(duì)其進(jìn)行調(diào)試。操作過(guò)程⑴打開(kāi)宏設(shè)計(jì)窗口⑵開(kāi)始單步運(yùn)行單擊工具欄的單步按鈕,單擊執(zhí)行按鈕,屏幕顯示如圖7-25所示的對(duì)話框。分析在單步執(zhí)行宏對(duì)話框中,顯示了宏名、條件、操作名及操作參數(shù)。通過(guò)這些內(nèi)容的分析,可以判斷出宏的執(zhí)行是否正常。在圖7-25中,還有三個(gè)按鈕,其作用如下:?jiǎn)尾綀?zhí)行,執(zhí)行對(duì)話框中的操作,如果沒(méi)有出錯(cuò),顯示下一步操作的信息暫停,停止宏的執(zhí)行,關(guān)閉對(duì)話框繼續(xù),關(guān)閉單步執(zhí)行模式,執(zhí)行宏中其余的操作⑶錯(cuò)誤處理如果執(zhí)行過(guò)程中遇到了錯(cuò)誤,Access會(huì)顯示一個(gè)對(duì)話框,內(nèi)容是當(dāng)前正在執(zhí)行的操作中可能的錯(cuò)誤原因。例如,將“打開(kāi)課程信息錄入窗體”宏中OpenForm操作的窗體名稱參數(shù)改為“課程信息”,單擊運(yùn)行按鈕,屏幕顯示如圖7-26所示的對(duì)話框。分析單擊確定按鈕,屏幕顯示如圖7-27所示的操作失敗對(duì)話框。這個(gè)對(duì)話框也顯示了當(dāng)前操作的相關(guān)信息,但只有一個(gè)暫停按鈕有效。要修改錯(cuò)誤,單擊暫停按鈕,Access自動(dòng)返回到宏設(shè)計(jì)窗口,將光標(biāo)停留在錯(cuò)誤位置處。用戶可以修改相應(yīng)的錯(cuò)誤。圖7-27操作失敗對(duì)話框7.4事件與事件驅(qū)動(dòng)除了前面介紹的宏的運(yùn)行方法以外,還可以將宏與窗體或報(bào)表的控件結(jié)合在一起執(zhí)行,使宏成為一系列操作中的一部分;而這一系列操作的執(zhí)行,可以完成一些功能強(qiáng)大的數(shù)據(jù)處理任務(wù)。例如,當(dāng)單擊窗體中的某一個(gè)按鈕時(shí),通過(guò)執(zhí)行宏關(guān)閉窗體并保存數(shù)據(jù)。7.4.1Access中的事件Access提供了另外一種執(zhí)行宏的方法,由使用者通過(guò)某一個(gè)操作決定何時(shí)使用。要做到這一點(diǎn),就必須提到Access中的事件。在Access中,事件就是某個(gè)使用者的操作導(dǎo)致的結(jié)果。例如,關(guān)閉一個(gè)窗體或者選擇窗體的某個(gè)按鈕時(shí),事件就會(huì)發(fā)生。Access事件可以由特定對(duì)象的屬性來(lái)識(shí)別。例如,如果使用者單擊窗體中的命令按鈕,該按鈕事件屬性中的單擊屬性可以識(shí)別出來(lái)該操作,并根據(jù)該操作決定觸發(fā)某個(gè)宏(當(dāng)然,也可能觸發(fā)某個(gè)事件處理過(guò)程)。Access中的事件共有53種,可以分為七類:窗口事件,窗體及報(bào)表事件,打開(kāi)、關(guān)閉及調(diào)整大小數(shù)據(jù)事件,刪除、更新或者成為當(dāng)前項(xiàng)焦點(diǎn)事件,激活、輸入或者退出鍵盤事件,按下或者釋放一個(gè)鍵,以及按下和釋放合在一起的擊鍵事件。鼠標(biāo)事件,包括單擊、雙擊、鼠標(biāo)按下、鼠標(biāo)釋放和鼠標(biāo)移動(dòng)。打印事件,包括打開(kāi)、關(guān)閉報(bào)表,報(bào)表無(wú)數(shù)據(jù),打印頁(yè)前,打印出錯(cuò)等。Access可以對(duì)窗體、報(bào)表或控件中的多種類型的事件作出響應(yīng),包括鼠標(biāo)單擊、數(shù)據(jù)更改以及窗體或報(bào)表的打開(kāi)與關(guān)閉等等。例如,要在單擊按鈕時(shí)顯示某種信息,可以定義一個(gè)顯示信息的宏,將命令按鈕的ONClick屬性設(shè)置為該宏的名稱。例7-9通過(guò)單擊窗體中的命令按鈕執(zhí)行例7-2中創(chuàng)建的宏“打開(kāi)課程信息錄入窗體”。⑴創(chuàng)建窗體新建一個(gè)窗體,在窗體上放置一個(gè)命令按鈕,并設(shè)置命令按鈕的標(biāo)題為“打開(kāi)employee_Win窗體”。⑵設(shè)置命令按鈕的單擊事件選中命令按鈕,切換到屬性對(duì)話框,在事件選項(xiàng)卡的單擊事件后的下拉框中選擇“打開(kāi)課程信息錄入窗體”宏,如圖7-28所示。圖7-28窗體中的宏事件驅(qū)動(dòng)⑶運(yùn)行窗體將新建的窗體切換到窗體視圖中,單擊命令按鈕即可執(zhí)行“打開(kāi)課程信息錄入窗體”宏。和單獨(dú)執(zhí)行宏的效果完全一樣。7.5實(shí)例例7-10創(chuàng)建一個(gè)登錄界面,并進(jìn)行口令判斷。操作步驟如下:①創(chuàng)建窗體新建一個(gè)窗體,在窗體上放置一個(gè)文本框和一

溫馨提示

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

評(píng)論

0/150

提交評(píng)論