第 9 章 宏的创建和使用在 Access 中,宏是一个重要的对象,通过执行宏可以使得对数据库进行的操作变得更 为方便,本章将介绍宏的概念,宏、宏组以及条件宏操作的创建、运行和调试9.1 宏概述宏是具有名称的、由一个或多个操作命令组成的集合,其中每个操作实现特定的功能 诸如打开表、调入数据或报表、切换不同窗口等在Access中提供了 50多种宏操作,这些 操作和菜单命令类似,但它们对数据库施加作用的时间有所不同菜单命令一般用在数据库 的设计过程中,而宏命令则用在数据库的执行过程中菜单命令必须由用户来施加这个操作, 而宏命令则可以在数据库中自动执行将宏操作按照一定的顺序有机地组合在一起,运行时 Access 就会按照定义的顺序自动运行用户掌握了宏的操作,可以像使用编程技术一样,实现对Access的灵活应用,然而, 掌握宏的操作要比学习编程技术容易得多,它不需要记住各种语法,只要将所执行的操作 参数和运行的条件输入到宏窗口中即可9.1.1 宏的设计窗口Access 为宏的设计提供了非常方便的可视化环境,在数据库窗口中选择“宏”对象, 然后单击“新建”按钮,即可打开宏的设计窗口,如图9.1所示。
宏3:宏口回因操作注释MsgBox显示含有警告或提 示消息的消息框.”常用于当验证失败 时显示一条消息.按F1键可菽取此 操作的帮助信息.操作参数设置区参数名称对参数的解释图 9.1 宏设计窗口的组成宏的设计窗口分为上下两部分,分别为设计区和操作参数区,使用【F6】键可以在两 个区切换设计区有 2 列,第1 列是“操作”列,它由若干行构成,每一行就是一个宏操作命令, 单击每一行右侧的下拉箭头,在打开的列表框中会显示出Access的每个宏操作命令,用户 可以在其中进行选择第2 列是“注释”列,用来对左边的操作进行必要的说明,以方便今 后对宏进行修改和维护在新建宏时,只显示“操作”和“注释”列,用户可以通过单击工具栏中的“宏名”按钮驾和“条件”按钮0,或执行“视图”菜单的“宏名”和“条件”命令,增加“宏名” 列和“条件”列,分别用于创建宏组和条件宏操作窗口的下半部分称为操作参数区,当选择不同的操作命令时,该区域会显示出一组不同 的参数供用户设置,它由3 部分组成,第1 列显示各参数的名称,用户在第2列对各参数进 行设置,而第3 列则是对每个参数的具体解释注意:宏只有设计视图一种方式,在设计视图下可以创建、修改、运行宏。
9.1.2 宏设计工具栏在进行创建宏与操作宏等操作时,宏工具栏提供了许多方便,如图9.2 所示图 9.2 宏设计工具栏这些按钮的基本功能如表8.1 所示表9.1用于宏设计的按钮功能按钮名称功 能宏名控制“宏名”列在宏设计窗口中的显示或隐藏条件控制“条件”列在宏设计窗口中的显示或隐藏+插入行在当前行前面增加一个空白行删除行删除当前行•执行在宏窗口中运行宏・住单步单步运行宏A,生成器帮助用户设置宏操作命令的参数数据库窗口切换到数据库窗口新对象创建新的对象9.1.3 常用的宏操作Access提供了 50多个宏操作命令,单击宏设计窗口操作列中任一行,在该行右侧会显示一个向下的箭头,单击这个箭头,屏幕会显示出一个列表框,如图9.3 所示该列表框中 按字母顺序列出了所有的操作命令,可以在该列表框中选择需要的操作命令AdidM enuvAdiiM erLUApplyFi11 erE e epC:=LTLCtjlEverL tCloseC opyD at ab :=lz eFileCopjHjbj ectDeleteObjectv||操作图9.3宏操作命令列表框常用的宏操作命令及其功能如下:1.打开或关闭库对象(1) OpenForm :打开指定的窗体。
2) OpenReport :打开指定的报表3) OpenQuery :打开指定的查询4) OpenTable:打开指定的表5) Save:保存对象,不指定具体对象时,保存当前的活动对象6) Close:关闭指定的对象,需要在参数中设置关闭的对 象,例如表、查询等 2.运行程序与退出(1) RunApp:在 Access 中运行一个 Windows 或 MS-DOS 应用程序2) RunCode:调用 VB 的 Function 过程3) RunCommand:执行一个 Access 菜单命令4) RunMacro:运行选定的宏(该宏可以在宏组中)5) RunSQL:执行指定的SQL语句完成操作查询6) Quit:退出 Accesso 3.记录操作(1) Requery :指定控件重新查询,即刷新控件数据2) FindRecord :查找满足条件的第1条记录3) FindNext :查找满足条件的下一条记录4) GoToRecord:将指定的记录作为当前记录 4.控制窗口(1) Maximize:将活动窗口最大化2) Minimize:将活动窗口最小化3) Restore :将处于最大化或最小化的窗口恢复为原来的大小。
4) MoveSize :移动或调整活动窗口 5.通知或警告(1) Beep:让扬声器发出“嘟嘟”声2) MsgBox:显示包含警告信息或提示信息的消息框 宏操作命令包括了对数据库及数据库各个对象的操作,而由这些命令组成的宏功能也就十分强大(有关详细的宏操作命令及其功能参见附录A)o9.1.4 设置宏操作参数大部分宏操作都有具体的操作参数,告诉 Access 具体如何执行该操作有些参数是必 需的,而有些参数是可选的9.2 创建和编辑宏9.2.1 创建宏创建一个宏,主要用到宏设计窗口和宏设计工具栏在Access中使用宏来设计程序与 传统意义上的程序设计有很大的区别,用户无需要编写程序代码,只需要在表格中选择有关 的内容,填写一份宏操作表格即可下面介绍3类不同宏的创建,即操作序列宏、宏组和条件操作宏,不论哪一类,创建中 都要指定宏名、添加操作命令、为命令设置参数和备注等1.创建操作序列宏由于操作序列宏中各命令的执行是按命令在宏中的先后次序,所以在建立操作序列宏时,要按照命令执行的顺序依次添加每一条命令 例 9.1 用宏来实现打开窗体的功能 设置后的宏设计窗口如图9.4 所示图 9.4 宏设计窗口2.创建宏组 如果有许许多多的宏,可以将相关的宏定义到一个组中,称为宏组,以减少“宏”对象 列表的数量,有助于更方便地对数据库进行管理。
例 9.2 创建一个宏组,其中包括两个宏:“打开学生表”和“打开成绩查询”,其中“打 开表”宏中包含3 个操作,分别是打开“学生”表、打开一个提示窗口和关闭表,“打开查 询”宏中也包含3 个操作,分别是打开“总成绩表”查询、打开一个提示窗口和关闭查询, 设置后的宏组窗口如图9.5 所示图 9.5 宏组设计窗口 对宏组的概念的理解需注意以下几点:(1)宏组相当于一个分类的文件管理器,一个宏组中可生成或存放若干个宏2)建立宏组可避免宏对象列表太庞大,相当于分门别类的管理宏3)宏组中存放的若干个宏,一般不能自动连续运行,而要使用运行宏组中的宏的方 法执行,详见 9.3.13.创建条件操作宏在某些情况下,可能希望在满足一定条件时才执行宏中的一个或多个操作,这时可以使 用条件来控制宏的流程,这就是条件操作宏创建条件操作宏时,要在操作之前加上执行的 条件条件是逻辑表达式,宏将根据条件结果的真或假而沿着不同的路径执行例 9.3 创建一个条件操作宏完成如下的操作:先在屏幕上用消息框提示“是否显示‘学 生'表”,如果用户单击“是”按钮,则执行以下3 个操作:显示“学生”表、显示消息框、 关闭“学生”表,不论用户是否单击“是”按钮,最后都显示一个消息框,框内提示信息为 “欢迎测试”,欢迎测试操作参数士严哪息哪型题消发类标设置后的条件操作宏如图9.6 所示。
显示含有警告或 提示消息的消息 框口常用于当验 证失败时显示1 条消息-按F1 键可菽取此操作 的帮助信息图 9.6 条件操作宏设计窗口“带条件的学生信息宏”由4 个操作命令组成,其中前3个带有条件,最后一个是无 条件的操作,带有条件的操作只有在条件表达式为真时,才被执行本例中的条件使用了函数MsgBox,除了用函数的值构成条件表达式外,还可以使用窗 体或报表上控件的值,引用的格式如下Forms![窗体名]![控件名] Reports![报表名]![控件名]9.2.2 编辑宏宏设计完成后,常常有一些不足,这就需要对已设计的宏进行编辑,添加新的操作、移 动宏操作、复制宏操作或删除宏操作等1.添加新操作 在完成一个宏的设计后,往往会根据实际需要再向宏中添加一些操作2.移动宏操作 在宏设计后完成后,有时需要根据实际需求改变两个宏操作的执行顺序,这就要移动特 定的宏操作比如一个宏包含的操作是先打开窗体随后打开消息框,现要将这两个操作顺序 互相颠倒,其实现的方法为:在设计视图中打开要操作的宏名,单击行选择器,选择含有操 作所在的行,按住鼠标左键不放,将其拖曳到想要移动的位置并松开鼠标即可说明:在移动宏操作过程中,Access将移动该宏操作的所有条件和操作参数。
3.宏的复制复制已存在的宏,用以建立一个在设计方面类似的宏会节省很多时间,而不必从头建立 新宏,只要对复制过来的宏进行必要的修改即可在Access中,对一个宏的复制可以是对 整个宏进行的,也可以是对单个宏中的某个操作进行的例如将宏“打开窗体”复制成为一个名为“宏2”的宏,实现的方法为:在数据库窗口 中选择“宏”对象,然后选中要复制的源宏“打开窗体”,按【Ctrl+C】组合建,再按【Ctrl+V】 组合建,在弹出的“粘贴为”对话框中,输入新宏的名字“宏 2”,最后单击“确定”按钮 即可说明: 当将宏从一个数据库复制到另一个数据库时,需关闭当前数据库并打开要将宏复 制到的数据库4.宏的删除 在完成一个宏的设计后,有时会根据实际需要删除宏中的一些冗余操作,以实现代码优 化删除宏的具体步骤如下:① 在数据库窗口中选择“宏”对象,并在设计视图下打开要编辑的宏名② 单击要删除的行选择器③ 单击工具栏上的“删除行”按钮“说明:若要直接删除某个宏,则在数据库窗口中选中要删除的宏,然后按Del键或执行 “编辑”菜单的“删除”命令即可9.3 运行与调试宏9.3.1 运行宏创建了宏之后,要通过运行宏来检验宏的正确性。
宏有多种运行方式 1.直接运行宏可以使用以下方法之一,直接运行宏•在“宏设计窗口”中,单击工具栏上的“运行”按钮 •在数据库窗口中,单击“宏”对象,然后在窗口中双击要运行的宏名•在数据库窗口中,单击“宏”对象,单击要运行的宏名,然后单击“运行”按钮• 选择“工具”菜单中的“宏”命令项,在级联菜单中选择“运行宏”,然后在弹出的 “运行宏”对话框(如图9.7)中选择要运行的宏,最后单击“确定”按钮图 9.7 “运行宏”对话框通常情况下,直接运行宏只是为了检测宏的运行情况,在经过检测设计正确后,要将宏 附加到窗体、报表、控件或VBA程序中,使其对事件做出响应2.运行宏组中的宏当建立了宏组后,可以使用上面运行宏的4 种方法之。