




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2023/2/11第二部分流行關系數據庫使用-Access2010第七章(十)宏操作2023/2/12主要內容:宏概述宏的創建與設計宏的運行與調試宏的應用宏的觸發一、宏概述Access共有50多種宏指令,它們和內置函數一樣,可為應用程序的設計提供各種基本功能??蓪⒑昕醋魇且环N簡化的編程語言。使用宏非常方便,不需要記住語法,也不需要編程,只需幾個簡單的宏操作就可以對數據庫完成一系列操作。如果使用得當和寫程序不相上下。2023/2/131、什么是宏宏是一個或多個操作的集合,其中的每個操作能夠自動地實現特定的功能。將一定的操作排列成順序,就構成了宏。在Access中,可以將宏看成一種簡化了的編程語言,這種語言是通過選擇一系列要執行的操作來編寫的。編寫宏無須記住各種語法,每個宏的操作參數都顯示在宏的【設計視圖】中,通過使用宏,無須在VBA模塊中編寫代碼,即可向窗體、報表和控件中添加功能。通過運行宏,Access能夠有次序地自動完成一連串的操作,包括各種數據、鍵盤或鼠標的操作。2023/2/14宏的【設計視圖】:2023/2/152、宏的功能打開和關閉數據表、窗體、打印報表和執行查詢。顯示提示框、顯示警告。實現數據的輸入和輸出。篩選、查找數據記錄。在數據庫啟動時執行操作等。宏的功能幾乎涉及了所有的數據庫操作細節。2023/2/163、事件的概念事件過程是為響應由用戶或程序代碼引發的事件或由系統觸發的事件而運行的過程。事件是指對象所能辨識或檢測的動作,當此動作發生于某個對象上,其相對應的事件便會被觸發。如果預先為此事件編寫了宏或事件程序,則該宏或事件程序便會被執行。如用鼠標單擊窗體上的按鈕,該按鈕的Click(單擊)事件便會被觸發,指派給Click事件的宏或事件程序也就跟著被執行。2023/2/174、宏的類型宏分三種類型:操作序列、宏組和包括條件的宏。Access的宏可以是包含操作序列的一個宏;也可以是一個宏組,宏組由若干個宏構成;還可以使用條件來決定在什么情況下運行宏,以及在運行宏時是否進行某項操作。2023/2/182023/2/19(1)操作序列例如,圖1所示的宏是由一系列的操作序列組成的。每次運行宏時,Access都將執行這些操作。如果要運行該宏,只要在合適的地方引用宏的名稱即可。圖1:2023/2/1102023/2/111(2)宏組所謂宏組,就是在一個宏名下存儲多個宏。如果存在著許多宏,那么將相關的宏分到不同的宏組有助于數據庫的管理。宏組類似于程序設計中的【主程序】,而宏組中的【宏名】列中的宏類似于【子程序】,使用宏組可以增加控制,又可以減少編制宏的工作量。2023/2/112(3)條件宏某些情況下,僅在宏中特定條件為真時才執行一個或一系列操作。這時可以使用宏的條件表達式來控制宏的流程,這樣的宏稱為條件操作宏。例如,使用宏驗證窗體中的數據,且需要在一個窗體中顯示一個記錄的值,而在另一個窗體中顯示所有記錄的值,這種情況下,可以使用條件來控制宏的流程。5、常用宏操作宏是一種特殊的代碼,它沒有控制轉移功能,也不能直接操控變量。它是一種操作代碼,以操作為單位,將一連串的操作有機地組合起來。在宏運行時,這些操作依次執行,若是有條件的宏,則按照條件進行操作。在宏中的每個操作可以攜帶自己的參數,但每個操作執行后沒有返回值。2023/2/113(1)宏的操作分類操作數據類:用于操作窗體和報表中的數據,分為過濾操作和記錄定位操作。如:ApplyFilter、GotoPage。執行命令類:用于執行命令、宏、查詢和其他應用程序。如:RunCommand、Quit。導入導出類:實現Access與其他應用程序之間的共享(靜態)。其他:用于維護Access的界面,包括菜單欄、工具欄、快捷菜單和快捷鍵的添加、修改和刪除,錯誤信息的提示方式和響鈴警告等。如:AddMenu,Echo,SetWarning等。2023/2/114(2)常用宏操作AddMenu:可以創建【加載項】選項卡下的自定義菜單,也可以創建右鍵菜單。該命令可用于窗體、報表或控件,也可以用于整個數據庫。ApplyFilter:可以將篩選、查詢應用到表、窗體或報表中,以便對基礎表中的記錄進行限制和排序。對于報表,只能在報表的OnOpen事件的嵌入式宏中使用此命令。Beep:使計算機的揚聲器發出“嘟嘟”聲。CancelEvent:取消一個事件。Close:關閉指定的Access窗口。若未指定窗口,則關閉當前活動窗口,可使用CloseDatabase命令來關閉當前數據庫。2023/2/1152023/2/116EmailDatabaseObject:可將指定的數據表、窗體、報表、模塊或數據訪問頁包含在電子郵件中,以便在其中進行查看和轉發。FindRecord:可以查找符合參數條件的第一個數據實例。可以在數據表、查詢、窗體數據表或窗體中查找記錄。FindNextRecord:可以查找符合前一個FindRecord命令所指定條件的下一條記錄。使用該命令可以重復搜索記錄。GotoControl:可將焦點移至指定的字段或控件。當希望特定的字段或控件獲得焦點時,可以使用此命令。例如,如果某個人信息數據表中包含有字段【婚否】、【配偶姓名】,若在【婚否】字段輸入“否”,則焦點可以自動跳過【配偶姓名】,移至下一字段。2023/2/117GotoPage:可將活動窗體中的焦點移至指定頁中的第一個控件。GotoRecord:可使打開的表、窗體或查詢結果的特定記錄成為當前活動記錄。DisplayHourglassPointer:在宏執行時可以使鼠標指針變成沙漏圖標或其他指定圖標。MaxmizeWindow:最大化活動窗口。MinimizeWindow:將活動窗口縮小為Access窗口底部的一個小標題欄。MessageBox:可顯示一個包含警告或提示性消息的消息框。OnError:可指定當宏出錯時如何處理。OpenForm:可在窗體視圖、設計視圖、打印預覽視圖與數據表視圖中打開一個窗體。OpenQuery:可在數據表視圖、設計視圖或打印預覽視圖中打開選擇查詢或交叉表查詢。2023/2/118OpenReport:可在設計視圖或打印預覽視圖中打開報表,或將報表直接發送到打印機。通過設置各種參數還可以限制報表中打印的記錄。OpenTable:可在數據表視圖、設計視圖或打印預覽視圖中打開表。通過設置各種參數還可以選擇該表的數據輸入模式。QuitAccess:退出Access。ExportWithFormatting:實現對象的導出操作。Requery:可對活動對象上指定控件的數據源進行重新查詢,以此實現對控件中的數據的更新。RunMacro:運行宏或宏組。使用該命令可以完成從其他宏中運行宏、根據條件運行宏、將宏附加到自定義菜單命令等任務。二、宏的創建與設計宏的創建方法和其他對象的創建方法略有不同。通常創建宏對象比較簡單,因為不管是創建單個宏還是宏組,各種宏操作都是從Access提供的宏操作中選取,而不是自定義的。宏不能通過向導創建,只能通過設計視圖直接創建。2023/2/1191、創建與設計單個宏在宏設計視圖中選擇需要的宏操作,并設置操作參數即可。例7-10-1:創建一個簡單宏,要求打開教學管理數據庫的student表,顯示男生信息。2023/2/120選擇【創建】選項卡,在【宏與代碼】組中單擊【宏】按鈕:2023/2/121打開宏的設計視圖窗口:2023/2/122從下拉菜單中選擇“OpenTable”選項,并填寫相關參數:2023/2/123選擇篩選操作“ApplyFilter”選項:2023/2/124保存并命名宏:2023/2/125執行宏“顯示男生信息”的結果:2023/2/1262、創建與設計宏組宏組是存儲在同一個宏名下的相關宏的組合,它與其他宏一樣可在宏窗口中進行設計,并保存在數據庫窗口的導航窗格的【宏】組中。如果有多個宏執行不同的操作,則可將宏建立為不同的宏組,以方便數據庫的管理和維護。例7-10-2:根據教學管理數據庫,創建一個宏組,要求在運行該宏組時打開“學生選課及成績信息”窗體,然后通過單擊該窗體中的“退出系統”按鈕,退出當前數據庫。2023/2/127選擇菜單【創建】—【宏】:2023/2/128在下拉菜單中選擇“Submacro”:2023/2/129將子宏命名為“打開”,在子宏的添加菜單中選擇“OpenForm”:2023/2/130向子宏“打開”添加了其他宏操作:2023/2/131添加子宏“關閉”:2023/2/132保存并命名為“宏組”:2023/2/133打開“學生選課及成績信息”窗體設計視圖,添加命令按鈕:2023/2/134給命令按鈕命名:2023/2/135右鍵單擊命令按鈕,選擇屬性:2023/2/136運行宏組打開窗體的效果:2023/2/1373、創建與設計條件宏某些情況下,可能希望當特定條件為真時,才在宏中執行一個或多個操作。例7-10-3:根據職工管理數據庫,創建條件宏,要求運行宏時自動打開salary窗體,當修改或添加工資數據時,輸入數據小于0時,系統自動給出提示。說明:本例使用的是嵌入式宏,這種方式創建的宏不能轉換為VBA代碼,而獨立宏可以轉換。2023/2/138打開“salary”窗體設計視圖,右鍵單擊“基本工資”文本框:2023/2/139打開【事件】選項卡,單擊【更新后】文本框右側的按鈕,在【選擇生成器】對話框中選擇【宏生成器】選項:2023/2/140打開宏設計窗口,選擇IF宏:2023/2/141添加IF宏:2023/2/142添加MessageBox宏:2023/2/143保存宏之后回到“salary”窗體設計視圖,顯示嵌入的宏:2023/2/144返回窗體視圖,輸入錯誤數據之后顯示提示框:2023/2/145課堂練習一:根據edu1數據庫操作。1、創建一個獨立宏。查看計算機系學生的信息。2、創建一個嵌入式宏。在根據teacher表創建的教師窗體中添加一個命令按鈕,對其單擊事件建立宏,查看計算機系教師信息。3、創建一個條件宏,當向sele_course表輸入學生成績信息時,如果成績小于0大于100,則彈出出錯信息提示框。2023/2/146三、宏的運行與調試創建宏之后即可以在需要時調用該宏。設計完成的宏或宏組并不一定總是正確的,因此在宏的設計過程中,還可以對宏進行調試。調試宏的目的即找出宏的錯誤原因和出錯位置,以便使設計的宏操作能達到預期的效果。2023/2/1471、運行宏(1)獨立宏的執行直接運行宏:在導航窗格的【宏】組中雙擊宏名即可。從宏組中運行宏:選擇【數據庫工具】選項卡,在【宏】組中單擊【運行宏】按鈕,打開【執行宏】對話框,從中選擇執行相應的宏。從另一個宏中運行宏:進入【宏生成器】,在空白操作行的操作列表中選擇RunMacro操作命令,將【宏名稱】參數設置為要運行的宏名稱即可。2023/2/1482023/2/149從宏組中運行宏從另一個宏中運行宏(2)嵌入式宏的執行對于嵌入在窗體、報表或控件中的宏,執行方法較少,主要是通過響應窗體、報表或控件中事件的形式運行宏。這種方法就是嵌入式宏的工作方法,在窗體或報表中發生設定的事件時,如果條件滿足,就會觸發執行相應的宏。2023/2/1502、調試宏對宏進行調試,可以采用單步調試方式,即每次只執行一個操作,以便觀察宏的流程和每一步操作的結果,便于分析出錯的原因并加以更正。例7-10-4:在教學管理數據庫中,創建“打開窗體”宏,添加OpenForm宏操作,并在【窗體名稱】參數處隨意輸入一個數據,如輸入“1”。試用單步調試功能對該宏進行調試并修改錯誤。2023/2/151創建宏:2023/2/152命名并保存宏:2023/2/153選擇單步、運行宏:2023/2/154【單步執行宏】對話框:2023/2/155單擊【單步執行】按鈕后出現提示框:2023/2/156顯示錯誤號:2023/2/157單擊【停止所有宏】按鈕,返回宏設計窗口,重新修改該步操作。2023/2/158四、宏的應用1、將宏加到窗體和報表宏的一個常見用途是將宏鏈接到窗體或報表??蓮臄祿鞂Ш酱案裢蟿雍甑酱绑w的設計畫面上增加一個命令按鈕。在完成的窗體中單擊該按鈕時,即運行該宏。還可通過在窗體或報表的各個屬性中命名宏連接到窗體或報表。例7-10-5:在教學管理數據庫中,打開“學生信息”窗體設計視圖,添加“顯示男生信息”宏。將宏“顯示男生信息”從導航窗格拖動到“學生信息”窗體的設計視圖中:2023/2/159切換到窗體視圖:2023/2/160單擊“男生信息”按鈕之后的結果:2023/2/1612、使用郵件發送Access對象可以創建郵件宏,用于發送數據表、窗體、報表或模塊等Access對象。例7-10-6:創建一個郵件宏,將教學管理數據庫中的student表作為郵件發送內容。2023/2/162設置EMailDatebaseObject宏:2023/2/163執行郵件宏:2023/2/1644、實現Access對象的導出可以根據需要將Access對象導出到其他位置。例7-10-7:創建一個導出宏,將教學管理數據庫中的student表導出為Excel工作簿。2023/2/165設置ExportWithFormating宏:2023/2/166執行導出宏:2023/2/1672023/2/1685、用Autoexec宏啟動應用程序一旦各個功能實現后,往往需要在數據庫打開時自動啟動應用的歡迎界面。可以通過Autoexec宏實現。Autoexec宏也是一個宏,只是名字為Autoexec,系統會在打開數據庫時自動啟動它。要建立自動啟動宏,首先要設計歡迎界面窗體,然后建立一個新宏,在宏中選擇OpenForm,在動作參數的“窗體名稱”下,選擇作為啟動的窗體。在給該宏起名字時命名為Autoexec。若禁止啟動宏,則在打開數據時按住Shift鍵。例7-9-6:在教學管理數據庫中創建一個自動宏,打開“切換面板”窗體2023/2/169命名宏為“autoexec”:2023/2/170打開“教學管理”數據庫,自動執行autoexec宏:2023/2/171直接打開“切換面板”窗體:2023/2/1722023/2/173六、宏的觸發在窗體或者報表中運行宏,實際上是利用觸發宏的事件屬性來運行宏的。事件是一種特定的宏,在某個對象上發生或對某個對象發生。Access可以響應多個事件,如單擊、更改、更新前、更新后等。事件的發生通常是用戶操作的結果。通過使用事件過程,可以為窗體、報表或控件上發生的事件添加自定義的事件響應。宏運行的前提是有觸發宏的事件發生。根據任務類型,事件類型可分為Data(數據處理)事件、Focus(焦點)事件和Keyboard(鍵盤)事件。1、Data事件Data事件即數據處理事件。當窗體或控件中的數據被更改或刪除時,或當焦點從一條記錄移動到另一條記錄時,將發生Data事件。2023/2/174Data事件及功能說明事件名稱事件屬性說明AfterDelConfirm窗體在確認刪除操作且在記錄已被刪除或刪除操作取消之后發生AfterInsert窗體發生在插入一條新記錄之后AfterUpdate窗體和控件發生在控件和記錄的數據被更新之后BeforeDelConfirm窗體發生在刪除一條或多條記錄后,但在確認刪除之前BeforeInsert窗體發生在開始向新紀錄寫第一個字符,但記錄還未添加到數據庫時BeforeUpdate窗體和控件發生在控件和記錄的數據被更新之前change控件發生在文本框或組合框的文本部分內容更改時Current窗體當把焦點移動到一個記錄,使之成為當前記錄時發生Delete窗體發生在刪除一個記錄時,但在確認之前Dirty窗體一般發生在窗體內容或組合框部分內容被改變時NotInList控件發生在輸入一個不在組合框列表中的值時Updated控件發生在當OLE對象被修改時2023/2/1752、Focus事件Focus事件即焦點事件,該類型事件與焦點改變相關,當窗體或控件失去或獲得焦點時,或者窗體或報表成為激活狀態時,發生該事件。2023/2/176Focus事件及功能說明事件名稱事件屬性說明ActivateOnActivate(窗體和報表)當窗體或報表等窗口變為當前活動窗口時發生DeactivateOnDeactivate(窗體和報表)發生在其他Access窗口變成當前窗口時EnterOnEnte
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 平安 面試 iq測試題及答案
- 揀貨崗全國電商考試試題及答案
- 公司員工培訓合同協議書
- 乳制品奶源質量控制與品牌形象塑造的協同效應2025年研究
- 文化產業區域協同發展2025年:資源整合與區域文化產業文化產業產業鏈協同創新報告
- 成井施工方案
- java互聯網面試題及答案
- java初級面試題及答案2025
- javaweb面試題庫及答案
- 單身經濟的崛起如何改變市場格局
- 施工安全常識試題及答案
- 2025屆湖北省T8聯盟壓軸卷1英語試題
- 泳池負責人試題及答案
- 《企業數據中心網絡架構》課件
- 2025新版工程咨詢合同
- 家庭電梯保養合同協議
- 2025年江西九江市贛鄱砂業集團有限公司招聘筆試參考題庫含答案解析
- 2025年上半年度蘇州城際鐵路限公司管理崗位公開招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 企業破產重組法律顧問協議
- 2025年高考政治三輪復習:統編版必修二《經濟與社會》主觀題專題練習題(含答案)
- DB11∕T1478-2024生產經營單位安全生產風險評估與管控
評論
0/150
提交評論