使用 Access 中的数据宏,可以将逻辑添加到表中发生的事件,例如添加、更新或删除数据。 它们类似于 Microsoft SQL Server 中的“触发器”。 本文介绍如何创建和调试数据宏。
本文内容
关于数据宏
数据宏在数据表视图中查看表时从“ 表 ”选项卡进行管理,并且不会显示在导航窗格中 的“宏 ”下。 除其他事项外,可以使用数据宏来验证并确保表中数据的准确性。 有两种main类型的数据宏:表事件触发的数据宏 (也称为) 的“事件驱动”数据宏,另一种是运行以响应按名称调用 (也称为“命名”数据宏) 。
Create事件驱动数据宏
每当添加、更新或删除表中的数据时,都会出现表事件。 可以对数据宏进行编程,以在上述三个事件中的任何一个之后立即运行,或者在删除或更改事件之前立即运行。 使用以下过程将数据宏附加到表事件:
-
在导航窗格中,双击要将数据宏添加到的表。
-
在“ 表 ”选项卡上的“ 事件之前” 组或“ 事件后” 组中,单击要向其添加宏的事件。 例如,若要创建从表中删除记录后运行的数据宏,请单击“ 删除后”。
注意: 如果事件已具有与其关联的宏,其图标将在功能区上突出显示。
Access 将打开宏生成器。 如果以前为此事件创建了宏,则 Access 将显示现有宏。
-
添加希望宏执行的操作。
-
保存并关闭宏。
有关创建宏的详细信息,请参阅Create用户界面 (ui) 宏一文。
Create命名数据宏
命名或“独立”数据宏与特定表相关联,但与特定事件无关。 可以从任何其他数据宏或标准宏调用命名数据宏。
-
在导航窗格中,双击要将数据宏添加到的表。
-
在“表”选项卡上的“命名宏”组中,单击“命名宏”,然后单击“Create命名宏”。
Access 将打开宏生成器,你可以在其中开始添加操作。
有关创建宏的详细信息,请参阅Create用户界面 (ui) 宏一文。
关于参数
参数使你能够将值传递到命名数据宏中,以便可以在条件语句或其他计算中使用它们。 它们还使你能够将对象引用从标准宏传递到数据宏。
注意: 参数在事件驱动数据宏中不可用。
若要向数据宏添加参数,请执行以下操作:
-
在宏顶部,单击“Create参数”。
-
在“ 名称 ”框中,键入参数的唯一名称。 这是用于引用表达式中的 参数的名称。
-
(可选)在“说明”框中键入参数 的说明 。 建议输入说明,因为稍后使用 参数时,此处键入的说明文本将显示在工具提示中。 这有助于记住 参数的用途。
若要从另一个宏运行命名数据宏,请使用 RunDataMacro 操作。 操作为创建的每个参数提供一个框,以便提供所需的值。
管理数据宏
数据宏不会显示在导航窗格中的“ 宏”下。 必须使用“表数据表”视图或“表设计”视图中的功能区命令来创建、编辑、重命名和删除数据宏。
编辑事件驱动数据宏
-
在导航窗格中,双击包含要编辑的数据宏的表。
-
在“ 表 ”选项卡上的“ 事件之前” 组或“ 事件后” 组中,单击要编辑的宏的事件。 例如,若要编辑从表中删除记录后运行的数据宏,请单击“ 删除后”。
注意: 如果事件没有与之关联的宏,则其图标不会在菜单上突出显示。
Access 将打开宏生成器,你可以开始编辑宏。
编辑命名数据宏
-
在导航窗格中,双击任何表以在“数据表”视图中将其打开。
-
在“ 表 ”选项卡上的“ 命名宏 ”组中,单击“ 命名宏”,然后指向 “编辑命名宏”。
-
在子菜单,单击要编辑的数据宏。
Access 将打开宏生成器,你可以开始编辑宏。
重命名命名数据宏
-
在导航窗格中,双击任何表以在“数据表”视图中将其打开。
-
在“ 表 ”选项卡上的“ 命名宏 ”组中,单击“ 命名宏”,然后单击“ 重命名/删除宏”。
-
在“ 数据宏管理器 ”对话框中,单击要 重命名 的数据宏旁边的“重命名”。
Access 选择当前宏名称。
-
键入新名称或编辑现有名称,然后按 Enter。
删除数据宏
使用此过程可删除任何命名或事件驱动的数据宏:
-
在导航窗格中,双击任何表以在“数据表”视图中将其打开。
-
在“ 表 ”选项卡上的“ 命名宏 ”组中,单击“ 命名宏”,然后单击“ 重命名/删除宏”。
-
在“ 数据宏管理器 ”对话框中,单击要重命名的数据宏旁边的“ 删除 ”。
注意: 还可以通过删除事件驱动宏的所有操作来删除该宏。
调试数据宏
某些常见的宏调试工具(例如单步命令和 MessageBox 宏操作)不适用于数据宏。 但是,如果遇到数据宏问题,可以将 Application Log 表与 OnError、RaiseError 和 LogEvent 宏操作结合使用,以帮助查找数据宏错误。
显示应用程序日志表
应用程序日志表是名为 USysApplicationLog) (系统表,默认情况下不会显示在导航窗格中。 如果数据宏中发生错误,则可以通过查看应用程序日志表中的信息来判断发生了什么。
使用以下过程显示应用程序日志表:
-
单击“ 文件 ”打开 Microsoft Backstage 视图。
-
在“ 信息 ”选项卡上,单击“ 查看应用程序日志表”。
注意: 如果未看到“ 查看应用程序日志表 ”按钮,则表示尚未为此数据库创建应用程序日志表。 记录事件后,按钮将显示在“ 信息 ”选项卡上。
可以使用 LogEvent 操作或 RaiseError 操作在应用程序日志表中创建行,并且可以使用 OnError 操作控制 Access 对错误的反应方式。