特定事件發(fā)生時(shí),事件屬性將導(dǎo)致運(yùn)行指定的宏或者相關(guān)的 Visual Basic 事件過程。例如,如果在命令按鈕的 OnClick 屬性中輸入一個(gè)宏的名稱,則該命令按鈕受到單擊時(shí)將運(yùn)行所指定的宏。
若要運(yùn)行一個(gè)宏,請(qǐng)輸入要運(yùn)行的宏的名稱,也可以在現(xiàn)有宏名稱列表中進(jìn)行選擇。如果該宏位于一個(gè)宏組中,它將在列表中的宏組名稱下以 macrogroupname.macroname 的形式顯示。
若要在事件發(fā)生時(shí)運(yùn)行相關(guān)的事件過程,請(qǐng)從列表中選擇 [Event Procedure]。
注釋 雖然建議在運(yùn)行 Visual Basic 代碼響應(yīng)事件時(shí)使用事件過程,但也可以在事件發(fā)生時(shí)運(yùn)行用戶定義的函數(shù)。要運(yùn)行用戶自定義函數(shù),可以在函數(shù)名稱之前添加一個(gè)等號(hào) (=),并在函數(shù)名稱后面添加一對(duì)括號(hào),例如 =functionname( )。
可以使用對(duì)象的屬性表、宏或者 Visual Basic 設(shè)置事件屬性。請(qǐng)注意,在設(shè)置窗體或報(bào)表的格式或者打印窗體、報(bào)表時(shí),不能對(duì)任何事件屬性進(jìn)行設(shè)置。
? | “宏生成器”,該生成器可為事件屬性創(chuàng)建和指定宏。也可以對(duì)屬性中已指定的宏進(jìn)行編輯。 |
? | “代碼生成器”,該生成器可以為事件屬性創(chuàng)建或指定事件過程。也可以對(duì)屬性中已指定的事件過程進(jìn)行編輯。 |
? | 在 Microsoft Access 數(shù)據(jù)庫(kù) (.mdb) 中,“表達(dá)式生成器”可用來為該事件屬性選擇和指定用戶定義函數(shù)。 |
在 Visual Basic 中,可以將該屬性設(shè)為一個(gè)字符串表達(dá)式。
要運(yùn)行 |
語法 |
示例 |
宏 |
"macroname" |
Button1.OnClick = "MyMacro" |
事件過程 |
"[Event Procedure]" |
Button1.OnClick = "[Event Procedure]" |
用戶定義函數(shù) |
"=functionname( )" |
Button1.OnClick = "=MyFunction()" |
下面的示例顯示單擊“打印國(guó)家/地區(qū)報(bào)表”按鈕時(shí),如何根據(jù)“國(guó)家/地區(qū)”控件中輸入的值來選擇運(yùn)行兩個(gè)宏中的一個(gè)。
Private Sub Country_AfterUpdate()
If Country = "Canada" Then
[Print Country Report].OnClick = "PrintCanadaReport"
ElseIf Country = "USA" Then
[Print Country Report].OnClick = "PrintUSAReport"
End If
End Sub