Access 2007 中的宏基础知识

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。可以在本页面底部告诉我们此信息是否对你有帮助吗?请在此处查看本文的英文版本以便参考。

这篇文章介绍什么是宏,并通过自动执行经常执行的任务如何他们可以保存您时间。它介绍了创建和使用宏后面的基础知识,并也接触Microsoft Office Access 2007中的宏的改进功能。

本文内容

什么是宏?

了解宏

在 Office Access 2007 中的新宏功能

创建宏

运行宏

什么是宏?

宏是一种工具,使您自动执行任务并将功能添加到您的窗体、 报表和控件。例如,如果向窗体中添加命令按钮,您将为宏,该按钮的OnClick事件相关联,宏包含您希望该按钮执行每次单击它时的命令。

在 Access 中,是宏看作简化的编程语言编写的构建要执行的操作列表。生成宏时,从下拉列表中选择每个操作,然后填写所需的信息,每个操作。宏使您能够将功能添加到窗体、 报表和控件,无需在 Visual Basic for Applications (VBA) 模块中编写代码。大多数人发现更轻松地构建比编写 VBA 代码的宏和宏提供 VBA 中, 可用的命令的子集。

例如,假设您想要直接从您的数据输入窗体之一启动报表。您可以向窗体添加一个按钮,然后创建启动报表的宏。宏可以独立宏 (在数据库中的单独对象),然后绑定到按钮的OnClick事件,或直接在按钮本身的OnClick事件可以嵌入的宏 — Office Access 2007中的新增功能。 两种方法,当您单击按钮,该宏运行,并启动报表。

通过使用宏生成器来创建宏,如下图所示。

宏生成器

若要显示宏生成器:

  • 创建选项卡中的其他组中,单击。如果此命令不可用,请单击模块类模块按钮下方的箭头,然后单击按钮图像

    提示: 在 Access 2010,以使其更易于创建、 修改和共享 Access 宏,宏生成器已经过重新设计。

返回页首

了解宏

术语宏通常用于指独立宏对象 (即,您看到在导航窗格中的的对象),但事实上,一个宏对象可以包含多个宏。在这种情况下,它称为宏组。宏组显示为单个宏对象,在导航窗格中,但宏组实际上包含多个宏。当然,就可以创建一个单独的宏的对象,每个宏,但通常更有意义进行分组到一个宏对象的多个相关的宏。在宏名列的名称标识每个宏。

宏包含单个宏操作。大多数操作都需要一个或多个参数。此外,您可以分配的宏组中,每个宏的名称,您可以添加条件来控制每个操作的运行方式。以下各部分讨论每个这些功能的更多详细信息。

宏名

如果您的宏对象包含只有一个宏,宏名是必需的。您可以只需将该宏参考宏对象的名称。但是,对于的宏组中,必须为每个宏分配一个唯一名称。如果在宏生成器中看不到宏名列,请单击设计选项卡上的显示/隐藏组中的宏名称 按钮图像 。本文稍后出现有关宏组中运行宏的详细信息。

参数

参数是提供信息的操作,如要显示在消息框中,哪些字符串的值的控件操作打开,依此类推。某些参数是必需的然后是可选的一些其他人。参数是在宏生成器底部的操作参数窗格中可见的。

输入操作参数

Office Access 2007宏生成器的一项新功能是参数列中同一行中的操作允许您查看 (但不能进行编辑) 该操作的参数。这使得更易于阅读您的宏,因为您不再需要选择每个操作来显示其参数。若要显示参数列中,单击设计选项卡上的显示/隐藏组中的参数 按钮图像

条件

条件指定将执行的操作之前,必须满足特定条件。您可以使用任何表达式计算结果为 True/False 或是否。如果该表达式的计算结果为 False,不会执行该操作否,或 0 (零)。如果该表达式的计算结果为任何其他值,将运行该操作。

您可以通过键入所需的条件应用于每个后续操作的条件列中的省略号 (...) 有一个条件控制多个操作。如果该表达式的计算结果为 False,无,或执行 0 (零),其中任何操作。如果条件的计算结果为任何其他值,所有操作都执行此操作。

若要在宏生成器中,在设计选项卡上的显示/隐藏组中,显示条件列中单击条件 按钮图像

使用此表达式执行操作

如果:

[City]="Paris"

运行该宏的窗体中 City 字段中的值为 Paris。

DCount ("[订单 id]","订单") > 35

Orders 表的 OrderID 字段中有超过 35 个条目。

DCount ("*","订单详细信息","[订单 Id] = Forms ! [订单] ![订单 Id]") > 3

表的订单 id 字段与订单窗体上的订单 Id 字段订单明细表中有多个 3 个条目。

[发货日期]2006 年 2 月 2 # 之间和 2006 年 3 月 1 日 #2-#

从中运行该宏窗体上的发货日期字段的值为不早于 2006 年 2 月 2 日,不晚于 2006 年 3 月 2 日。

Forms ![产品] ![库存] < 5

Products 窗体上 UnitsInStock 字段中的值小于 5。

IsNull([FirstName])

从中运行该宏的窗体上的名字值为(没有任何值)。此表达式是相当于 [FirstName] 为空。

[国家/地区] ="英国"和窗体 ![销售总数] ![总订单数] > 100

从中运行该宏窗体上的国家/地区字段中的值是 UK,且销售总数窗体上的总订单数字段的值大于 100。

[国家/地区]In ("法国"、"意大利","西班牙") 和 Len([PostalCode]) <> 5

从中运行该宏窗体上的国家/地区字段中的值是法国、 意大利或西班牙,并且邮政编码不 5 个字符。

MsgBox("Confirm changes?",1)=1

单击确定,在其中MsgBox函数显示"确认 changes?"对话框中。如果您单击取消对话框中,Access 将忽略操作。

[临时变量] ![MsgBoxResult] = 2

用于存储消息框中的结果的临时变量相比 2 (vbCancel = 2)。

提示: 若要使 Access 暂时跳过操作,请作为条件输入 False。解决问题宏时,临时跳过动作很有帮助。

宏操作

操作是基本的构建基块的宏。Access 提供了大量操作可供选择,启用了各种各样的命令。例如,一些常用操作可以打开报表、 查找记录,显示一个消息框,或将筛选器应用于窗体或报表。

返回页首

宏Office Access 2007的新增功能

在早期版本的 Access,常用的许多功能无法执行无需编写 VBA 代码。Office Access 2007中的新增功能和宏操作已添加以使您不再需要的代码。这使得更加轻松地将功能添加到您的数据库,并有助于使其更安全。

  • 嵌入的宏   您现在能够在任何提供的窗体、 报表或控件事件中嵌入的宏。在导航窗格中; 中看不到嵌入的宏它成为窗体、 报表或控件在其中创建的一部分。如果您创建的窗体、 报表或控件包含嵌入的宏的副本,也是副本中存在宏。

  • 提高了 安全   时不在宏生成器中突出显示显示所有操作 按钮图像 按钮,仅宏操作和可供使用的 RunCommand 参数是指那些不需要运行的受信任的状态。即使数据库处于禁用模式 (当 VBA 阻止运行) 时,将运行生成这些操作的宏。包含不是受信任的列表的宏操作的数据库,或包含 VBA 代码的数据库 — 需要显式授予受信任的状态。

  • 错误处理和调试    Office Access 2007提供新宏操作,包括OnError (类似于 VBA 中的"在错误"语句) 和ClearMacroError,允许您在运行宏时出现错误时执行特定操作。此外,新的SingleStep宏操作可以输入单步执行模式随时在您的宏,以便您可以看到您的宏的工作原理,一次一个操作。

  • 临时变量   三个新宏操作 (SetTempVarRemoveTempVarRemoveAllTempVars),可以创建和使用临时变量中您的宏。您可以使用这些条件表达式控制运行宏,或将数据传入和从报表或窗体,或出于任何其他目的需要临时存储位置的值。这些临时变量也是在 VBA 中,可以访问的因此您也可以使用这些通信 VBA 模块与数据。

返回页首


创建宏

在Office Access 2007、 宏或宏组可以包含在一个宏对象 (有时称为独立宏),或宏可以嵌入到窗体、 报表或控件的任何事件属性。嵌入的宏成为的控件它们嵌入的对象的一部分。独立宏会显示在; 下的导航窗格中不是嵌入的宏。

宏生成器功能

创建独立的宏

创建宏组

创建嵌入的宏

示例: 在报表的无数据事件中嵌入宏

编辑宏

了解有关宏操作的详细信息

宏生成器功能

使用宏生成器来创建和修改的宏。若要打开宏生成器:

  • 创建选项卡中的其他组中,单击。如果此命令不可用,请单击模块类模块按钮下方的箭头,然后单击按钮图像

    Access 将显示宏生成器。

使用宏生成器构建您想要运行宏时执行的操作的列表。当您首次打开宏生成器时,显示操作列、参数列和注释列。

操作参数,下,您输入并编辑参数的每个宏操作,如有必要。将显示为您提供的每个操作或参数的简短说明说明框。单击操作或操作参数,查看框中的说明。

下表显示在宏生成器的设计选项卡可用的命令。

命令

说明

工具   

运行   

执行宏中列出的操作。

单步执行   

启用单步执行模式。在此模式下运行该宏时,每个操作是执行一次。每个操作完成后,将显示单步执行宏对话框。单击前进到下一步操作对话框中的步骤。单击停止所有宏停止这和任何其他正在运行的宏。单击继续退出单步执行模式,并执行而不停止剩余的操作。

生成器   

输入操作参数可以包含的表达式时,此按钮处于启用状态。单击生成器以打开表达式生成器对话框中,您可以使用它来生成表达式。

   

插入行   

一个或多个空白操作上方插入行的所选的行。

删除行   

删除所选的操作的行。

显示/隐藏   

显示所有操作   

操作下拉列表中显示更多或更少的宏操作。

  • 若要显示较长的宏操作列表,请单击显示所有操作。可用较长的宏操作列表时,显示所有操作按钮显示为选中状态。如果从该长的宏操作列表中选择宏操作,您可能需要授予数据库显式信任状态之前,您可以运行该操作。

  • 若要从较长的宏操作列表切换到不是受信任的数据库中显示可用的宏操作的简短列表,请确保未选中显示所有操作按钮。

    提示: 如果选中显示所有操作按钮,请单击显示所有操作按钮以清除所选内容。

    如果未选中显示所有操作按钮,较短的受信任的宏操作列表才可用。

宏名   

显示或隐藏宏名列。宏名中需要宏组来区分各个宏从相互分开,但否则宏名是可选。有关详细信息,请参阅本文后面的部分创建的宏组、。

条件   

显示或隐藏条件列。使用此列输入控件执行操作时的表达式。

参数   

显示或隐藏参数列。此列显示每个宏操作的参数,使得更加轻松地阅读您的宏。如果未显示参数列中,您必须单击每个操作并阅读下操作参数的参数。不能在参数列中输入参数。

返回节首

创建独立的宏

  • 在“<ui>创建</ui>”选项卡上的“<ui>其他</ui>”组中,单击“<ui>宏</ui>”。如果此命令不可用,请单击“<ui>模块</ui>”或“<ui>类模块</ui>”按钮下方的箭头,然后单击“<ui>宏</ui>”。

  • 将显示宏生成器。

  • 将操作添加到该宏:

    1. 在宏生成器中,单击操作列中的第一个空单元格。

    2. 键入所需的操作,或单击箭头以显示操作列表,然后选择要使用的操作。

    3. 操作参数,下指定参数的操作,如有必要。要查看每个参数的简短说明,请在参数框中,单击,然后阅读在右侧参数的说明。
      提示

      • 为其设置为数据库对象名称操作参数,则可以通过将对象从导航窗格拖动到操作的对象名称参数框设置参数。

      • 您可以通过将数据库对象从导航窗格拖动到空行中,在宏生成器来创建一个操作。如果将表、 查询、 窗体、 报表或模块拖动到宏生成器中,Access 将添加一个打开的表、 查询、 窗体或报表的操作。如果将宏拖到宏生成器,Access 会添加该宏操作。

    4. (可选) 键入操作的注释。

  • 若要添加更多操作的宏,移到另一个操作行,,然后重复步骤 2。Access 将执行的操作列表它们的顺序。

返回节首

创建宏组

如果您想要在一个宏对象的多个相关的宏,您可以创建的宏组。

  • 在“<ui>创建</ui>”选项卡上的“<ui>其他</ui>”组中,单击“<ui>宏</ui>”。如果此命令不可用,请单击“<ui>模块</ui>”或“<ui>类模块</ui>”按钮下方的箭头,然后单击“<ui>宏</ui>”。

  • 将显示宏生成器。

  • 如果尚未选中,请在设计选项卡的显示/隐藏组中,单击宏名 按钮图像宏名列将显示在宏生成器。

    注意: 宏组中,在宏名是标识各个宏所必需的。宏名称将出现在同一行的宏的第一个操作。宏名称列保留为空的任何后续操作的宏。在宏名称列中的下一个项目结束宏。

  • 宏名列中,键入宏组中的第一个宏的名称。

  • 添加所需的第一个宏执行的操作:

    1. 操作列中,单击箭头以显示操作列表。

    2. 单击您想要添加的操作。

    3. 操作参数,下指定参数的操作,如有必要。要查看每个参数的简短说明,请在参数框中,单击,然后阅读在右侧参数的说明。
      提示

      • 为其设置为数据库对象名称操作参数,则可以通过将对象从导航窗格拖动到操作的对象名称参数框设置参数。

      • 您可以通过将数据库对象从导航窗格拖动到空行中,在宏生成器来创建一个操作。如果将表、 查询、 窗体、 报表或模块拖动到宏生成器中,Access 将添加一个打开的表、 查询、 窗体或报表的操作。如果将宏拖到宏生成器,Access 会添加该宏操作。

    4. (可选) 键入操作的注释。

  • 移到下一个空行中,宏名列,然后在宏组中键入下一个宏的名称。

  • 添加需要宏执行的操作。

  • 重复步骤 5 和 6,针对每个组中的宏。

注意: 

  • 如果您运行的宏组,通过在导航窗格中双击或单击设计选项卡的工具组中的运行 按钮图像 ,Access 将运行第一个宏仅达到第二个宏名称时停止。

  • 保存宏组时,您指定的名称将是整个组的宏的名称。此名称将显示在导航窗格中的。若要引用的宏组内的单个宏,请使用以下语法:

    macrogroupname.macroname

    例如,钮扣引用按钮宏组中的产品宏。列表中的宏,宏名参数列表RunMacro操作,如 Access 将显示为钮扣产品宏。

返回节首

创建嵌入的宏

嵌入的宏与独立宏的不同,嵌入的宏存储在事件属性窗体、 报表或控件。它们不会显示为在导航窗格中的的对象。这使得数据库易于管理,因为您没有要跟踪的单独宏对象包含窗体或报表的宏。使用以下过程创建嵌入的宏。

  1. 打开窗体或报表设计视图或布局视图中的宏包含。若要打开窗体或报表,请在导航窗格中,右键单击它,然后单击设计视图 按钮图像布局视图 按钮图像

  2. 如果尚未显示属性表,请按 F4 显示该表。

  3. 单击控件或部分中包含您要嵌入宏的事件属性。

    要选择整个窗体或报表,请单击属性表顶部的下拉列表中的报告

  4. 在属性表中,单击事件选项卡。

  5. 单击要嵌入宏,在其中的事件属性,然后单击框旁边的 “生成器”按钮

  6. 选择生成器对话框中,单击宏生成器,然后单击确定

  7. 在宏生成器中,单击操作列的第一行。

  8. 操作下拉列表中,单击所需的操作。

  9. 填写操作参数窗格中的任何必需参数,然后移动到下一步操作行。

  10. 完成您的宏之前,请重复步骤 8 和 9。

  11. 单击保存 按钮图像 ,然后单击关闭 按钮图像

触发事件每次将运行宏。

注意: Access 允许您构建为嵌入的宏的宏组。不过,只有组中的第一个宏运行时触发此事件。除非从调用嵌入宏本身 (例如,通过OnError操作),后续宏将被忽略。

返回节首

示例: 在报表的无数据事件中嵌入宏

如果您运行报告,其数据源不包含任何记录,报表将显示一个空页-不包含数据的页。您可能希望改为,显示一个消息框和报表不会显示在所有。使用嵌入式的宏是为这种情况下理想的解决方案。

  1. 在“设计”视图或“布局”视图中打开该报表。

  2. 如果尚未显示属性表,请按 F4 显示该表。

  3. 在属性表中,单击“事件”选项卡。

  4. 单击无数据

  5. 单击 “生成器”按钮

  6. 选择生成器对话框中,单击宏生成器,然后单击确定

  7. 下表中所输入的操作和参数。

操作

参数

MsgBox

找不到记录。,是的信息、 无数据

CancelEvent

[无参数]

  1. 请注意上, 表所显示的参数列中显示的参数。它们实际是按下表中的详细说明在操作参数,下输入。

操作参数

消息​​

找不到记录。

Beep

支持

类型

信息

标题

没有数据

  1. 单击关闭

    宏生成器关闭,并在无数据事件显示[嵌入的宏]

  2. 保存并关闭报表。

找到下次您运行的报表和任何记录,会显示消息框。单击确定框中的邮件时,报表取消,而不显示空页面。

返回节首

编辑宏

  • 若要插入操作行    单击要插入新操作,其上方的宏行,然后在设计选项卡的组中,单击插入行 在查阅表格插入行的按钮图像

  • 若要删除操作行    单击要删除的操作行,然后在设计选项卡的组中,单击删除行 按钮图像

  • 若要移动操作行   通过单击操作名称左侧的行选择器选择的操作。拖动要移动到新位置的操作的行选择器。

返回页首

了解有关宏操作的详细信息

当工作宏生成器时,您可以了解更多操作或参数通过单击它,然后再阅读右下角中的宏生成器窗口中的框中的说明。此外,每个宏操作具有与其关联的帮助文章。若要了解有关操作的详细信息,请单击操作列表中的操作,然后按 F1。

返回页首

运行宏

独立宏才能运行任何以下方法: 直接 (例如,从导航窗格中),在宏组中,从另一个宏,从 VBA 模块,或在响应窗体、 报表或控件发生的事件。宏嵌入在窗体、 报表,或者,可以通过在设计视图; 宏时,请单击设计选项卡上的运行 按钮图像 运行控件否则,每当触发关联的事件时,才会运行该宏。

直接运行宏

若要直接运行宏,请执行下列操作之一:

  • 导航到导航窗格中的宏,然后双击宏名。

  • 数据库工具选项卡上的组中,单击运行宏 按钮图像 ,单击宏名列表中的宏,然后单击确定

  • 如果在设计视图中打开该宏,请单击在设计选项卡上,在工具组中的运行 按钮图像 。若要在设计视图中打开该宏,请在导航窗格中,右键单击它,然后单击设计视图 按钮图像

运行宏组中的宏

若要运行宏组中的宏,请执行下列操作之一:

  • 数据库工具选项卡上的组中,单击运行宏 按钮图像 ,,然后单击在宏名称列表中的宏。

    Access 的每个宏组中,格式macrogroupname.macroname包括每个宏的条目。

  • 单击“确定”。

  • 作为事件属性设置在窗体或报表上或作为RunMacro操作的宏名参数指定的宏。使用以下语法,请参阅该宏:

    macrogroupname.macroname

    例如,以下事件属性设置运行宏名为窗体切换面板按钮的宏组中名为类别:

    窗体切换面板 Buttons.Categories

  • 运行宏属于 VBA 过程中的宏组中,通过使用RunMacro方法DoCmd对象,并使用前面显示宏引用的语法。

从另一个宏或 VBA 过程运行宏

RunMacro操作添加到您的宏或过程。

  • 要添加到宏RunMacro操作,请单击RunMacro空白操作行中,在操作列表中,然后将宏名参数设置为您想要运行的宏的名称。

  • 若要添加一个 VBA 过程RunMacro操作,将RunMacro方法DoCmd对象添加到您的过程,然后指定要运行的宏的名称。例如,以下RunMacro方法的实例运行名为我的宏的宏:

DoCmd.RunMacro "My Macro"

在窗体、 报表或控件上响应事件中运行宏

虽然现在可以事件的窗体、 报表和控件的属性中直接嵌入宏,请您还可以仍创建独立宏,然后将它们绑定到事件,这是如何在早期版本的 Access 中使用宏。

  1. 生成独立宏后,在设计视图或布局视图中打开窗体或报表。

  2. 打开窗体或报表,或节或窗体或报表上的控件的属性表。

  3. 单击事件选项卡。

  4. 单击您想要触发宏的事件的事件属性。例如,要更改事件启动该宏,请单击更改属性。

  5. 在下拉列表中,单击独立宏的名称。

  6. 保存窗体或报表。

返回页首

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×