Access 2010 具有新的宏设计器,可在减少编码错误的前提下轻松创建复杂的宏。您可通过下拉列表、IntelliSense、重用现有宏、拖放功能和复制/粘贴操作,使用设计器执行此操作。
开发人员将会对改进后的用户界面非常满意,因为它有助于构建条件块以加速操作的逻辑流。此外,还能通过电子邮件轻松地将宏共享到网页或博客和新闻组。
如果您曾经在 Microsoft Access 的之前版本中创建宏,您应该已经熟悉三个列宏生成器(参见图 1)。您在"条件"列中添加了条件语句,在"操作"列中添加了宏操作,在"参数"列中指定了参数。
图 1. 宏创建器的旧版本
在 Access 2010 的新宏设计器中,布局更类似于一个文本编辑器,其中不再包含三列,取而代之的是操作和条件语句,以程序员熟悉的自顶向下格式显示。参数以内联方式显示在对话框中,如图 2 中所示。
图 2. 宏设计器
添加新操作或条件语句非常简单。从右键单击菜单的操作下拉列表中选择,或者从宏设计器右侧的"操作目录"窗格(如图 3 中所示)中选择。
图 3. 操作目录
您可以双击操作或将其拖放到宏设计器上。默认情况下,"操作目录"和"添加新操作"组合框显示在不可信的数据库中执行的操作。要查看所有操作,单击功能区上的"显示所有操作"命令(图 4)。
图 4. 功能区上的"显示所有操作"命令
您可以通过单击代码块左侧的展开器折叠部分或全部代码块。您也可以使用功能区上的"展开/折叠"组中的展开或折叠控件来展开或折叠代码块。图 5 显示了图 2 中所示的宏的折叠版本。
图 5. 折叠的代码块
"操作目录"搜索框具有搜索功能,使您可以键入一个搜索词,并让 Microsoft Access 筛选和显示与该搜索词匹配的项目。"操作目录"搜索框不仅会检查操作名称,还会包括操作说明。例如,搜索
Query。搜索结果不仅会显示包含
Query 一词的操作,还会显示说明中包含
Query 的
ApplyFilter、
GoToRecord 和
ShowAllRecords。
您还可以向宏添加注释,方法是在"添加新操作"下拉框中键入"//",或在"操作目录"中拖动"注释"节点。注释显示为绿色文本,如图 2 中所示。这可以确保注释易于发现,并且可用于分隔过程中的各个部分。重新排列宏代码也很简单。将代码块拖放到新位置即可,或者使用操作窗格中块上的绿色向上和向下箭头(参见图 5)。
宏设计器引入了一种称为"组块"的新程序流构造。通过组块,可以轻松地将多个宏放入一个组中,您可将组作为一个单元进行扩展或折叠,以便于读取。
在 Microsoft Access 之前版本的宏生成器中,您可以使用"条件"列创建简单的条件语句。在 Access 2010 宏设计器中,您可以通过添加 ElseIf 和 Else 语句,创建更加多功能的 If 语句。要添加这些语句,选择"If"块,然后单击代码块右下角的"ElseIf"文本或"Else"文本。例如,单击"ElseIf"文本,将显示"ElseIf"对话框。然后当您在条件框中键入时,Microsoft Access 将使用 IntelliSense 显示标识符、函数和其他数据库项目。
宏设计器和 IntelliSense 一起还提供各种类型的帮助,包括:
-
当您键入足够的字符以识别搜索词后,自动完成将显示与对象、函数或参数匹配的单词下拉列表。您可以按 ENTER 或 TAB 接受建议,或者继续键入名称。
-
"快速信息"显示您的宏或表达式中任何标识符的正确语法。将鼠标指针放在某个标识符上方,您将看到其声明信息显示在一个对话框中。
-
当使用自动完成选择某个值时,"快速提示"提供了关于某个用户界面组件的其他信息。
即使对宏设计器进行了所有这些改进,很多开发人员可能仍然希望将宏转换为 VBA 代码。您可以通过功能区上的"将宏转换为 Visual Basic"命令执行此操作。