版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第十章宏操作前面介紹了五種數(shù)據(jù)庫對象,它們都具有強(qiáng)大的功能。如果將這些數(shù)據(jù)庫對象的功能組合在一起,可以擔(dān)負(fù)起數(shù)據(jù)庫中的各項(xiàng)數(shù)據(jù)管理工作了。但是由于這些數(shù)據(jù)庫對象都是彼此獨(dú)立的并且不能相互驅(qū)動,因此僅靠這五種數(shù)據(jù)庫對象構(gòu)造數(shù)據(jù)庫將難以形成一體的應(yīng)用系統(tǒng)。要使Access2000的眾多數(shù)據(jù)庫對象成為一個(gè)整體,以一個(gè)應(yīng)用程序的面貌展示給用戶,就必須借助于代碼類型的數(shù)據(jù)庫對象。宏對象便是此類數(shù)據(jù)庫對象中的一種。10.1宏的概念宏對象是一個(gè)或多個(gè)宏操作的集合,其中的每一個(gè)宏操作執(zhí)行特定的單一功能。用戶可以將這些宏操作組織起來形成宏對象以執(zhí)行特定的任務(wù)。要了解宏對象在Access2000中的執(zhí)行機(jī)制,就必須首先了解事件、消息與消息映射的概念。在Access2000中,每當(dāng)產(chǎn)生了一個(gè)事件時(shí)(例如,用戶單擊鼠標(biāo)左鍵產(chǎn)生【單擊】事件),總會有消息與之對應(yīng)。消息一經(jīng)產(chǎn)生即被送入到消息隊(duì)列中并最終被窗口對象感知。消息的產(chǎn)生是隨機(jī)的,怎樣才能保證消息一經(jīng)產(chǎn)生就會很快被窗口對象所感知?這將完全依靠消息的循環(huán)機(jī)制,即窗口對象總是不斷地到它自己的消息隊(duì)列中尋找消息。一旦某個(gè)消息到達(dá)隊(duì)列,窗口對象便能立即感知到。在Access2000中,窗體對象、報(bào)表對象及其內(nèi)部的控件均為窗口對象,即Access2000的窗體、報(bào)表及其內(nèi)部的控件可以感知消息。消息一旦產(chǎn)生并且被窗體、報(bào)表或控件感知以后,如何激活一個(gè)宏對象以響應(yīng)消息,這就需要依靠消息映射。消息映射是指將某一個(gè)消息與指定的宏對象建立起一一對應(yīng)的關(guān)系。如果一旦消息產(chǎn)生,Access2000立即自動執(zhí)行指定的宏或模塊對象。在Access2000中,消息映射是通過在窗體、報(bào)表及其內(nèi)部的控件中設(shè)置事件屬性來實(shí)現(xiàn)的。在指定的窗體、報(bào)表或控件的事件屬性中填寫一個(gè)宏對象名就意味著該消息與填入的宏對象建立起了映射關(guān)系,將來一旦窗體、報(bào)表或控件感知到該消息就轉(zhuǎn)去執(zhí)行指定的宏對象或模塊。所以,在Access2000中凡是具有事件屬性的對象都可以感知消息并進(jìn)行消息映射。在Access2000關(guān)系數(shù)據(jù)庫中,事件屬性的使用最為頻繁,也最為關(guān)鍵。表11-1列出了常用的事件屬性。表11-1常用的事件屬性事件屬性說明成為當(dāng)前(OnCurrent)非當(dāng)前記錄成為當(dāng)前記錄時(shí)產(chǎn)生的事件。首次打開窗體或非當(dāng)前窗體成為當(dāng)前窗體時(shí)產(chǎn)生的事件插入前(BeforeInsert)記錄插入操作執(zhí)行之前產(chǎn)生的事件插入后(AfterInsert)記錄插入操作執(zhí)行之后產(chǎn)生的事件更新前(BeforeUpdate)更新磁盤數(shù)據(jù)之前產(chǎn)生的事件更新后(AfterUpdata)更新磁盤數(shù)據(jù)之后產(chǎn)生的事件刪除(OnDelete)刪除記錄操作執(zhí)行之前產(chǎn)生的事件確認(rèn)刪除前(BeforeDelConfirm)刪除操作交給用戶確認(rèn)之前產(chǎn)生的事件確認(rèn)刪除后(AfterDelConfirm)刪除操作被用戶確認(rèn)之后產(chǎn)生的事件打開(OnOpen)窗體或報(bào)表被打開但還未顯示記錄之時(shí)產(chǎn)生的事件事件屬性說明加載(OnLoad)窗體被裝入內(nèi)存但還未顯示窗體之時(shí)產(chǎn)生的事件調(diào)整大小(OnResize)窗體的大小改變之后產(chǎn)生的事件卸載(OnUnload)窗體從內(nèi)存撤消之前產(chǎn)生的事件關(guān)閉(OnClose)窗體或報(bào)表被關(guān)閉并清屏之前產(chǎn)生的事件激活(OnActivate)窗體或報(bào)表由非活動狀態(tài)變?yōu)榛顒訝顟B(tài)時(shí)產(chǎn)生的事件停用(OnDeactivate)窗體或報(bào)表由活動狀態(tài)變?yōu)榉腔顒訝顟B(tài)時(shí)產(chǎn)生的事件獲得焦點(diǎn)(OnGotFocus)窗口對象獲得焦點(diǎn)之后產(chǎn)生的事體失去焦點(diǎn)(OnLostFocus)窗口對象失去焦點(diǎn)之前產(chǎn)生的事件單擊(OnClick)在窗口對象上單擊鼠標(biāo)產(chǎn)生的事件雙擊(OnDblClick)在窗口對象上雙擊鼠標(biāo)產(chǎn)生的事件鼠標(biāo)按下(OnMouseDown)在窗口對象上按下鼠標(biāo)鍵產(chǎn)生的事件鼠標(biāo)移動(OnMouseMove)在窗口對象上移動鼠標(biāo)產(chǎn)生的事件事件屬性說明鼠標(biāo)釋放(OnMouseUp)在窗口對象上鼠標(biāo)鍵彈起產(chǎn)生的事件出錯(cuò)(OnError)在窗口對象上發(fā)生操作錯(cuò)誤時(shí)產(chǎn)生的事件計(jì)時(shí)器觸發(fā)(OnTimer)時(shí)間中斷事件。該事件產(chǎn)生的頻率由【計(jì)時(shí)器間隔】屬性決定?!居?jì)時(shí)器間隔】(TimerInterval)屬性值決定了連續(xù)兩個(gè)時(shí)間中斷事件的間隔時(shí)間。它的值越大,時(shí)間中斷事件出現(xiàn)的頻率越低。但是當(dāng)它的值為0時(shí),時(shí)間中斷事件不再出現(xiàn)進(jìn)入(OnEnter)光標(biāo)進(jìn)入控件之時(shí)產(chǎn)生的事件退出(OnExit)光標(biāo)離開控件之時(shí)產(chǎn)生的事件用戶主要是在進(jìn)行事務(wù)性或重復(fù)性的操作的情況下使用宏,如打開和關(guān)閉窗體、顯示和隱藏工具欄或運(yùn)行報(bào)表等。一般來說,使用宏可以實(shí)現(xiàn)下列操作:創(chuàng)建全局賦值鍵(變量)。在首次打開數(shù)據(jù)庫時(shí),執(zhí)行一個(gè)或一系列操作。建立自定義菜單欄。從工具欄上的按鈕執(zhí)行自己的宏或者程序??梢允褂煤臧押Y選程序加到各個(gè)記錄中,從而提高記錄查找的速度。使用宏可以隨時(shí)打開或者關(guān)閉數(shù)據(jù)庫對象。使用宏可以為窗體或者報(bào)表中的控制設(shè)置值,同時(shí)還可以模擬鍵盤動作,并把輸入提供給對話框。可以使用宏來顯示各種信息,并能夠使揚(yáng)聲器發(fā)出報(bào)警聲,以引起用戶的注意。使用宏可以實(shí)現(xiàn)數(shù)據(jù)自動傳輸。可以自動地在各種數(shù)據(jù)格式之間引入或?qū)С鰯?shù)據(jù)??梢允褂煤暌苿覣ccess環(huán)境下的任何一個(gè)窗體,并能夠改變它們的大小。使用宏可以為窗體定制菜單,并可以讓用戶設(shè)計(jì)其中的內(nèi)容。使用宏可以啟動其他的應(yīng)用程序,可以是MS-DOS應(yīng)用程序,也可以是Windows應(yīng)用程序。10.2宏的分類Access下的宏可以是包含操作序列的一個(gè)宏;可以是某個(gè)宏組,宏組由若干個(gè)宏構(gòu)成;還可以是包括條件操作的宏,即使用條件表達(dá)式來決定在什么情況下運(yùn)行宏,以及在運(yùn)行宏時(shí)是否進(jìn)行某項(xiàng)操作。1.操作序列圖10-1所示的宏是由一系列的操作序列組成。每次運(yùn)行宏時(shí),Access都將執(zhí)行這些操作。如果要運(yùn)行該宏,只要在合適的地方引用宏的名稱即可。2.宏組如果存在著許多宏,那么將相關(guān)的宏分到不同的宏組將有助于數(shù)據(jù)庫的管理。例如,圖10-2所示的宏組就是由四個(gè)宏組成的。宏組類似于程序設(shè)計(jì)中的“主程序”,而宏組中“宏名”列中的宏類似于“子程序”。使用宏組既可以增加控制,又可以減少編制宏的工作量。用戶也可以通過引用宏組中的“宏名”(宏組名.宏名),執(zhí)行宏組中的一部分宏。在執(zhí)行宏組中的宏時(shí),Access系統(tǒng)將按順序執(zhí)行“宏名”列中的宏所設(shè)置的操作以及緊跟在后面的“宏名”列為空的操作。3.條件操作宏在某些情況下,可能希望僅當(dāng)特定條件為真時(shí),才在宏中執(zhí)行一個(gè)或多個(gè)操作。這是可以使用宏的條件來控制宏的流程。含有條件的宏,只有在指定的條件滿足時(shí),才執(zhí)行相應(yīng)的宏。10.3宏窗體中的工具欄當(dāng)創(chuàng)建、編輯或者測試宏時(shí),需要用到宏窗體中的工具欄。打開宏的設(shè)計(jì)窗體,就會在窗體的上端出現(xiàn)一行工具欄,如圖10-4所示。工具欄中有一些按鈕是前面章節(jié)中沒有見到過的,下面對這些按鈕做一下簡單介紹:宏名按鈕:選中該按鈕將顯示或隱藏宏窗體中宏名列??梢暂斎牒甑拿Q。條件按鈕:選中該按鈕將顯示或隱藏宏窗體中的條件列。可以設(shè)定必要的條件。執(zhí)行按鈕:選中該按鈕將運(yùn)行宏。單步執(zhí)行按鈕:選中該按鈕可以設(shè)置或取消步調(diào)試狀態(tài)。Access2000提供的宏操作幾乎涉及到數(shù)據(jù)庫的每一個(gè)操作動作。一般情況下,使用宏操作基本上能夠?qū)崿F(xiàn)數(shù)據(jù)庫的各項(xiàng)管理工作。之所以說Access2000是一種不用編程的關(guān)系數(shù)據(jù)庫管理系統(tǒng),其原因便是它擁有一套功能完善的宏操作。就單個(gè)宏操作而言,功能是很有限的,因?yàn)樗荒芡瓿梢粋€(gè)特定的數(shù)據(jù)庫操作動作。但是當(dāng)眾多的宏操作串聯(lián)在一起,被依次連續(xù)地執(zhí)行時(shí),就能夠執(zhí)行一個(gè)較復(fù)雜的任務(wù)。宏對象便是一種可以容納若干個(gè)宏操作并且能夠依次將這些宏操作執(zhí)行的一種數(shù)據(jù)庫對象。10.4宏動作Access2000為用戶提供了許多宏操作,常用的宏操作按其功能大致可以分為:對象操作類、數(shù)據(jù)導(dǎo)入導(dǎo)出類、記錄操作類、數(shù)據(jù)傳遞類、代碼執(zhí)行類、提示警告類和其他類。調(diào)用函數(shù)將獲得一個(gè)返回值,執(zhí)行宏操作將完成一個(gè)特定的數(shù)據(jù)庫操作動作。
1、OpenForm宏操作使用OpenForm
宏操作可以在窗體的窗體視圖、設(shè)計(jì)視圖、數(shù)據(jù)表視圖或打印預(yù)覽中打開一個(gè)窗體,并通過設(shè)置記錄的篩選條件、數(shù)據(jù)模式和窗口模式來限制窗體所顯示的記錄以及操作模式。10.4.1對象操作類2、OpenModule宏操作使用OpenModule
宏操作可以在指定的過程中打開特定的VisualBasic模塊。該過程可以是子程序、函數(shù)過程或事件過程。3、OpenQuery宏操作使用OpenQuery
宏操作可以運(yùn)行指定的查詢、打開指定查詢的設(shè)計(jì)視圖或者在打印預(yù)覽窗口中顯示選擇查詢的結(jié)果。4、OpenReport宏操作使用OpenReport宏操作可以打印指定的報(bào)表、打開指定報(bào)表的設(shè)計(jì)視圖或者在打印預(yù)覽窗口中顯示報(bào)表的結(jié)果,也可以限制需要在報(bào)表中打印的記錄。5、OpenTable宏操作使用OpenTable
宏操作可以打開指定表的數(shù)據(jù)表視圖、設(shè)計(jì)視圖或者在打印預(yù)覽窗口中顯示表中的記錄,也可以選擇表的數(shù)據(jù)輸入模式。6、Rename宏操作使用Rename宏操作可以重新命名指定的數(shù)據(jù)庫對象。7、RepaintObject宏操作使用RepaintObject
宏操作可以完成指定數(shù)據(jù)庫對象掛起的屏幕更新。如果沒有指定數(shù)據(jù)庫對象,則對活動數(shù)據(jù)庫對象進(jìn)行更新。更新包括對數(shù)據(jù)庫對象的所有掛起控件進(jìn)行重新計(jì)算。8、SelectObject宏操作使用SelectObject
宏操作可以選擇指定的數(shù)據(jù)庫對象,使其成為當(dāng)前對象。9、Close宏操作使用Close宏操作可以關(guān)閉指定的窗口。如果沒有指定窗口,Access2000則關(guān)閉當(dāng)前活動窗口。10、DeleteObject宏操作使用DeleteObject
宏操作可以刪除一個(gè)特定的數(shù)據(jù)庫對象。1、TransferDatabase宏操作使用TransferDatabase
宏操作可以在Access2000數(shù)據(jù)庫與其它的數(shù)據(jù)庫之間導(dǎo)入與導(dǎo)出數(shù)據(jù)。還可以從其它的數(shù)據(jù)庫鏈接表到當(dāng)前數(shù)據(jù)庫中來。通過鏈接表,在其它的數(shù)據(jù)庫中也可以訪問鏈接中表的數(shù)據(jù)。11、CopyObject宏操作使用CopyObject宏操作可以將指定的數(shù)據(jù)庫對象復(fù)制到不同的數(shù)據(jù)庫中,或以新的名稱復(fù)制到同一個(gè)數(shù)據(jù)庫中。10.4.2數(shù)據(jù)導(dǎo)入導(dǎo)出類2、TransferSpreadsheet宏操作使用TransferSpreadsheet宏操作可以在Access2000的當(dāng)前數(shù)據(jù)庫和電子表格文件之間導(dǎo)入或?qū)С鰯?shù)據(jù)。還可以將MicrosoftExcel電子表格中的數(shù)據(jù)鏈接到Access2000當(dāng)前數(shù)據(jù)庫中來。通過鏈接的電子表格,用戶可以在Access2000中查看和編輯電子表格數(shù)據(jù),同時(shí)還允許在MicrosoftExcel電子表格中對數(shù)據(jù)進(jìn)行訪問。TransferSpreadsheet宏操作還可以鏈接Lotus1-2-3電子表格文件中的數(shù)據(jù),但這些數(shù)據(jù)在Access2000中是只讀的。3、TransferText宏操作使用TransferText宏操作可以在Access2000的當(dāng)前數(shù)據(jù)庫與文本文件之間導(dǎo)入或?qū)С鰯?shù)據(jù)。還可以將文本文件中的數(shù)據(jù)鏈接到Access2000的當(dāng)前數(shù)據(jù)庫中。10.4.3記錄操作類1、GoToRecord宏操作使用GoToRecord宏操作可以在打開的表、窗體或查詢中重新定位記錄,使指定的記錄成為當(dāng)前記錄。2、FindRecord宏操作使用FindRecord宏操作可以查找與給定的數(shù)據(jù)相匹配的首條記錄。FindRecord宏操作可以在數(shù)據(jù)表視圖、查詢和窗體的數(shù)據(jù)源中查找記錄。3、FindNext宏操作
FindNext宏操作通常與FindRecord
宏操作搭配使用以查找與給定數(shù)據(jù)相匹配的下一條記錄。可以多次使用FindNext宏操作以查找與給定數(shù)據(jù)相匹配的記錄。FindNext宏操作沒有任何操作參數(shù)。10.4.4數(shù)據(jù)傳遞類1、Requery宏操作使用Requery宏操作可以通過刷新控件的數(shù)據(jù)源來更新活動對象中特定控件的數(shù)據(jù)。如果不指定控件,Requery宏操作將對對象本身的數(shù)據(jù)源進(jìn)行刷新。Requery宏操作可以保證活動對象或其所包含的控件顯示的是最新的數(shù)據(jù)。2、SendKeys宏操作使用SendKeys宏操作可以把按鍵直接傳送到Access2000或別的Windows應(yīng)用程序。3、SetValue宏操作使用SetValue宏操作可以對窗體和報(bào)表上的字段、控件或?qū)傩赃M(jìn)行設(shè)置。1、RunApp宏操作使用RunApp宏操作可以在Access2000中運(yùn)行一個(gè)Windows或MS-DOS應(yīng)用程序。10.4.5代碼執(zhí)行類2、RunCode宏操作使用RunCode宏操作可以調(diào)用VisualBasic的函數(shù)過程。3、RunMacro宏操作使用RunMacro宏操作可以運(yùn)行一個(gè)宏對象或宏對象中的一個(gè)宏組。4、RunSQL宏操作使用RunSQL宏操作可以運(yùn)行Access2000的動作查詢,還可以運(yùn)行數(shù)據(jù)定義查詢。1、Beep宏操作使用Beep宏操作可以通過個(gè)人計(jì)算機(jī)的揚(yáng)聲器發(fā)出嘟嘟聲。Beep宏操作沒有任何操作參數(shù)。10.4.6提示警告類2、Echo宏操作使用Echo宏操作可以指定是否打開回響。3、MsgBox宏操作使用MsgBox宏操作可以顯示包含警告信息或其它信息的消息框1、Hourglass宏操作使用Hourglass宏操作可以使鼠標(biāo)指針在宏執(zhí)行時(shí)變成沙漏形狀或其他選擇的圖標(biāo)。10.4.7其他類2、GoToControl宏操作使用GoToControl宏操作可以把焦點(diǎn)移到打開的窗體以及特定的字段或控件上。如果要讓某一特定的字段或控件獲得焦點(diǎn),可以使用GoToControl宏操作。3、ShowToolbar宏操作使用ShowToolbar宏操作可以顯示或隱藏內(nèi)置工具欄或自定義工具欄。4、Quit宏操作使用Quit宏操作可以退出Access2000。Quit宏操作還可以指定在退出Access2000之前采用何種方式保存數(shù)據(jù)庫對象。5、CancelEvent宏操作使用CancelEvent宏操作可以中止一個(gè)事件,該事件導(dǎo)致Access2000執(zhí)行包含此操作的宏。6、Maximize宏操作使用Maximize宏操作可以最大化活動窗口,使其充滿Access2000的整個(gè)窗口。Maximize宏操作可以使用戶盡可能多地看到活動窗口中的對象。Maximize宏操作沒有任何操作參數(shù)。7、Minimize宏操作使用Minimize宏操作可以將活動窗口最小化,使其縮小為Access2000窗口底部的小標(biāo)題欄。Minimize宏操作沒有任何操作參數(shù)。8、Restore宏操作使用Restore宏操作可以將處于最大化或最小化的窗口恢復(fù)為原來的大小。Restore宏操作沒有任何操作參數(shù)。9、SetWarnings宏操作使用SetWarnings宏操作可以打開或關(guān)閉系統(tǒng)信息。10、PrintOut宏操作使用PrintOut宏操作可以打印打開數(shù)據(jù)庫中的活動對象,也可以打印數(shù)據(jù)表、報(bào)表、窗體和模塊。11、MoveSize宏操作使用MoveSize宏操作可以移動活動窗口或調(diào)整其大小。10.5創(chuàng)建宏宏對象是由一個(gè)或一個(gè)以上的宏操作構(gòu)成的數(shù)據(jù)庫對象。每一個(gè)宏操作可以執(zhí)行一個(gè)特定的數(shù)據(jù)庫操作動作。宏操作由操作名和操作參數(shù)構(gòu)成,其結(jié)構(gòu)有些類似于函數(shù)。但它與函數(shù)不同的是:調(diào)用函數(shù)將獲得一個(gè)返回值,執(zhí)行宏操作將完成一個(gè)特定的數(shù)據(jù)庫操作動作。在運(yùn)行宏對象時(shí),它所包含的宏操作將被順序地執(zhí)行,不能實(shí)現(xiàn)跳轉(zhuǎn)。宏對象是一種特殊的代碼,它不具有編譯特性,不能進(jìn)行控制轉(zhuǎn)移,也不能對變量直接進(jìn)行操作。宏對象編輯窗口分為上下兩部分。上半部分是宏操作區(qū),它以二維表的形式顯示,允許用戶在二維表的每一行中選擇填寫一個(gè)宏操作。二維表的行數(shù)可以是任意多行,所以一個(gè)宏對象可以包含任意多個(gè)宏操作。下半部分是宏操作參數(shù)區(qū),用以為選擇的宏操作設(shè)置操作參數(shù)。需要注意的是:在宏對象編輯窗口打開時(shí),Access2000僅顯示【操作】和【備注】列,【宏名】和【條件】列最初是隱藏的。需要使用這兩列時(shí)可以從【視圖】菜單中選擇【宏名】和【條件】命令或單擊【宏設(shè)計(jì)】工具欄上的【宏名】和【條件】按鈕來顯示相應(yīng)的列。宏對象編輯窗口的下半部分用于為當(dāng)前宏操作提供操作參數(shù)。Access2000的大部分宏操作都擁有自己的操作參數(shù),但也有個(gè)別的宏操作沒有操作參數(shù)。建立一個(gè)宏對象的關(guān)鍵是如何正確地為每一個(gè)宏操作選擇輸入操作參數(shù)。操作參數(shù)區(qū)域中的每一行顯示了宏操作的一個(gè)參數(shù),左邊是操作參數(shù)名稱,右邊是該操作參數(shù)值。宏操作區(qū)由四列構(gòu)成,分別是:【操作】、【備注】、【條件】和【宏名】列。在打開宏對象編輯窗口時(shí),缺省情況下僅顯示【操作】和【備注】列。
【操作】列用于選擇要使用的宏操作名稱。
【備注】列用于對該行或以下幾行的宏操作的功能、意義進(jìn)行說明注釋?!緜渥ⅰ苛兄械奈淖终f明對宏的執(zhí)行沒有任何影響,它純粹是為了提高宏對象的可讀性而設(shè)立的。
【條件】列用于為宏操作設(shè)置執(zhí)行條件。只有當(dāng)【條件】列中設(shè)置的邏輯表達(dá)式結(jié)果為真時(shí),該行的宏操作才能夠執(zhí)行,否則將跳過該行的宏操作往下執(zhí)行。
【宏名】列用于為某段宏操作命名。在【宏名】列中的命名稱其為宏組名。一個(gè)宏組名所對應(yīng)的宏操作是從該宏組名所在行的宏操作開始到下一個(gè)宏組名所在行的前一行結(jié)束。通過在【宏名】列中填寫宏組名,從而將宏對象中的宏操作分成組,這樣便于用戶有選擇地執(zhí)行其中的一段宏操作。宏對象中的某一個(gè)宏組可以采用【宏對象名·宏組名】的形式在相關(guān)對象的事件屬性中調(diào)用。具體步驟如下:在“數(shù)據(jù)庫”窗體中,單擊“宏”選項(xiàng)卡。單擊“新建”按鈕。系統(tǒng)將出現(xiàn)新建宏的設(shè)計(jì)窗體。單擊“操作”字段的第一個(gè)單元格,然后再單擊該單元格的下拉按鈕,來顯示出操作列表。選擇要使用的操作。鍵入操作的說明(備注)。說明不是必選的,但可以使宏更易于理解和維護(hù)。在窗體的下半部是當(dāng)前操作的“操作參數(shù)”列表。若要在一個(gè)宏內(nèi)添加更多的操作,請移動到另一個(gè)操作行,重復(fù)3-7步。當(dāng)我們要在兩個(gè)操作行之間插入一個(gè)操作時(shí),首先需要單擊插入行下面的操作行的行選定按鈕,然后在工具欄上單擊“插入行”按鈕。就可以在選定之上添加一新行。再為新行選擇要使用的操作即可。我們也可以通過將某些對象(窗體及其上控件對象等)拖動至“宏”窗體的操作行內(nèi)的方式來快速創(chuàng)建一個(gè)在指定數(shù)據(jù)庫對象上執(zhí)行操作的宏。例如,單擊代表“個(gè)人綜合得分”報(bào)表的圖像,把它直接拉到一個(gè)空的“操作”單元格中。代表打開“個(gè)人綜合得分”報(bào)表的OpenReport操作和其他操作參數(shù),繼續(xù)進(jìn)行宏的編制。10.6在宏中設(shè)置操作參數(shù)的提示在宏中添加某個(gè)操作之后,可以在“宏”窗體的下部設(shè)置這個(gè)操作的參數(shù)。關(guān)于設(shè)置操作參數(shù)的簡要說明如下可以在參數(shù)框中鍵入數(shù)值,也可以從列表中選擇某個(gè)設(shè)置。通常,按參數(shù)排列順序來設(shè)置操作參數(shù)是很好的方法。通過從“數(shù)據(jù)庫”窗體拖動數(shù)據(jù)庫的方式來在宏中添加操作,系統(tǒng)會自動設(shè)置適當(dāng)?shù)膮?shù)。如果操作中有調(diào)用數(shù)據(jù)庫對象名的參數(shù),則可以將對象從“數(shù)據(jù)庫”窗體中拖動到參數(shù)框,從而由系統(tǒng)自動設(shè)置操作及其對應(yīng)的對象類型參數(shù)??梢杂们懊婕拥忍枺?)的表達(dá)式來設(shè)置操作參數(shù)。但是不可以對表10-1中的參數(shù)使用表達(dá)式。10.7創(chuàng)建宏組如果要在一個(gè)位置上將幾個(gè)相關(guān)的宏構(gòu)成組,而不希望對其單個(gè)追蹤,可以將它們組織起來構(gòu)成一個(gè)宏組,具體的創(chuàng)建過程如下:在“數(shù)據(jù)庫”窗體中,單擊“宏”選項(xiàng)卡。單擊“新建”按鈕。系統(tǒng)將出現(xiàn)新建宏的設(shè)計(jì)窗體。單擊工具欄中的“宏名”按鈕。在“宏名”欄內(nèi),鍵入宏組中的第一個(gè)宏的名字。添加需要宏執(zhí)行的操作。如果希望宏組內(nèi)包含其他的宏,請重復(fù)第4-5步。保存宏組時(shí),指定的名字是宏組的名字。這個(gè)名字也是顯示在“數(shù)據(jù)庫”窗體中的宏和宏組列表的名字。如果要引用宏組中的宏,請用下面的語法:宏組名.宏名。10.8宏的條件表達(dá)式條件是邏輯表達(dá)式。返回值只有兩個(gè):“真”和“假”。宏將根據(jù)條件結(jié)果的“真”或“假”而沿著不同的路徑執(zhí)行。單擊“視圖”菜單中的“條件”命令,或者單擊工具欄上的“條件”按鈕,都可以在宏列表中增加“條件”列??梢詫l件輸入到“宏”窗體的“條件”列中。如果這個(gè)條件結(jié)果為真,則MicrosoftAccess將執(zhí)行此行中的操作。在緊跟此操作的“條件”欄內(nèi)鍵入省略號(…),就可以使MicrosoftAccess在條件為真時(shí),可以執(zhí)行這些操作。在宏的條件表達(dá)式中,有可能會引用到窗體的控件值。在宏表達(dá)式中要使用如下的語法:
Forms![對象名]![控件名]10.9執(zhí)行宏在執(zhí)行宏時(shí),Access數(shù)據(jù)庫系統(tǒng)將從宏的起始點(diǎn)啟動,并執(zhí)行宏中所有操作直到到達(dá)另一個(gè)宏(如果宏是在宏組中的話)或者到達(dá)宏的結(jié)束點(diǎn)。如果要直接執(zhí)行宏,請進(jìn)行下列操作之一:如果要從宏窗體中執(zhí)行宏,請單擊工具欄上的執(zhí)行按鈕。如果要從數(shù)據(jù)庫窗體中執(zhí)行宏,請單擊“宏”選項(xiàng)卡,然后雙擊相應(yīng)的宏名。如果要從窗體“設(shè)計(jì)”視圖或報(bào)表“設(shè)計(jì)”視圖中執(zhí)行宏,請將鼠標(biāo)指向“工具”菜單中的“宏”在單擊“執(zhí)行宏”。如果要在Access數(shù)據(jù)庫系統(tǒng)的其他地方執(zhí)行宏,請?jiān)凇肮ぞ摺辈藛紊蠁螕簟皥?zhí)行宏”,然后單擊“宏名”框中相應(yīng)的宏。在通常情況下直接執(zhí)行宏只是進(jìn)行宏測試。在確保宏的設(shè)計(jì)無
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年工業(yè)制成品購銷協(xié)議格式
- 2024年商業(yè)租賃簡明協(xié)議樣式
- 2024年度娛樂業(yè)經(jīng)營合伙協(xié)議模板
- 30 軍神課件教學(xué)課件
- 大學(xué)教學(xué)課件教學(xué)課件
- 課件wps轉(zhuǎn)成教學(xué)課件
- 八年級下冊,勞動技術(shù),全冊教案,湖南教育出版社
- 大學(xué)籃球普修課教案
- 二手車買賣抵押商合同書
- 個(gè)人旅行裝備銷售代表協(xié)議
- 重慶12.23特大井噴案例
- 圍手術(shù)期重癥監(jiān)護(hù)
- CMK公式(設(shè)備能力指數(shù)EXCEL自動計(jì)算)
- 大作業(yè)計(jì)算機(jī)網(wǎng)絡(luò)
- 魯班尺各標(biāo)準(zhǔn)吉兇數(shù)對照表
- 西南油氣田對外合作項(xiàng)目基于PSC談判經(jīng)濟(jì)評價(jià)
- 基于PLC的藥片自動裝瓶控制系統(tǒng)設(shè)計(jì)
- 微生物限度方法學(xué)驗(yàn)證
- 遷入街道公共集體戶承諾書
- 湖北農(nóng)業(yè)發(fā)展的現(xiàn)狀與問題分析
- 鎮(zhèn)江市內(nèi)河航道網(wǎng)規(guī)劃
評論
0/150
提交評論