特定事件发生时,事件属性将导致运行指定的宏或者相关的 Visual Basic 事件过程。例如,如果在命令按钮的 OnClick 属性中输入一个宏的名称,则该命令按钮受到单击时将运行所指定的宏。
若要运行一个宏,请输入要运行的宏的名称,也可以在现有宏名称列表中进行选择。如果该宏位于一个宏组中,它将在列表中的宏组名称下以 macrogroupname.macroname 的形式显示。
若要在事件发生时运行相关的事件过程,请从列表中选择 [Event Procedure]。
注释 虽然建议在运行 Visual Basic 代码响应事件时使用事件过程,但也可以在事件发生时运行用户定义的函数。要运行用户自定义函数,可以在函数名称之前添加一个等号 (=),并在函数名称后面添加一对括号,例如 =functionname( )。
可以使用对象的属性表、宏或者 Visual Basic 设置事件属性。请注意,在设置窗体或报表的格式或者打印窗体、报表时,不能对任何事件属性进行设置。
? | “宏生成器”,该生成器可为事件属性创建和指定宏。也可以对属性中已指定的宏进行编辑。 |
? | “代码生成器”,该生成器可以为事件属性创建或指定事件过程。也可以对属性中已指定的事件过程进行编辑。 |
? | 在 Microsoft Access 数据库 (.mdb) 中,“表达式生成器”可用来为该事件属性选择和指定用户定义函数。 |
在 Visual Basic 中,可以将该属性设为一个字符串表达式。
要运行 |
语法 |
示例 |
宏 |
"macroname" |
Button1.OnClick = "MyMacro" |
事件过程 |
"[Event Procedure]" |
Button1.OnClick = "[Event Procedure]" |
用户定义函数 |
"=functionname( )" |
Button1.OnClick = "=MyFunction()" |
下面的示例显示单击“打印国家/地区报表”按钮时,如何根据“国家/地区”控件中输入的值来选择运行两个宏中的一个。
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