7
学习目标
了解宏的基本概念
⑵ 理解宏与Visual BASIC代码的转换方法,掌握宏创建及操作方法。
掌握宏的运行与调试方法。
宏(Macro)是微软公司为其OFFICE软件包设计的一个特殊功能。微软软件设计师们为了让人们在使用软件工作时,避免重复相同的动作而设计出来的一种工具,它利用简单的语法,把常用的动作写成宏,当工作需要时,就可以直接利用事先编好的宏自动运行,来完成特定的任务,而不必重复进行相同的操作,以达到让用户文档中的一些任务自动化。本章学习宏的相关知识,包括宏的基本概念、宏的基本操作及Access中如何使用宏。
7.1 宏的基本概念
7.1.1宏的概念
宏是由一个或多个操作组成的集合,其中每个操作都实现特定的功能。当频繁地重复同一操作时,用户就可以通过创建宏来执行这些操作。例如:在窗体中创建一个命令按钮,当单击该命令按钮时,打开数据报表并打印报表。
Access中,一共有53种基本宏操作,这些基本操作还可以组合成很多其他的宏组操作。在使用中,我们很少单独使用这个或那个基本宏命令,常常是将这些命令排成一组,按照顺序执行,以完成一种特定任务。这些命令可以通过窗体中控件的某个事件操作来实现,或在数据库的运行过程中自动来实现。
7.1.2常用宏操作
宏的操作是非常丰富的,如果只做一个小型的数据库,须使用 VBA编程,而用宏操作就可以轻易实现。宏的功能主要有:
显示和隐藏工具栏。
打开和关闭表、查询、窗体和报表。
执行报表的预览和打印操作以及报表中数据的发送。
设置窗体或报表中控件的值。
设置Access工作区中任意窗口的大小,并执行窗口移动、缩小、放大和保存等操作。
执行查询操作,以及数据的过滤、查。
为数据库设置一系列的操作,简化工作。
在宏操作中,有的操作是没有参数(如 Beep ),而有的操作必须指定参数。通常,按参数排列顺序来设置操作的参数是比较的方法,因为选择某一参数将决定该参数后面的参数的选择,常用的宏如表7-1所示。
7-1  常用宏操作
宏操作
 
Beep
通过计算机的扬声器发出嘟嘟声。
Close
关闭指定的 Microsoft Access 窗口。如果没有指定窗口,则关闭活动窗口。
GoToControl
把焦点移到打开的窗体、窗体数据表、表数据表、查询数据表中当前记录的特定字段或控件上。
Maximize
放大活动窗口,使其充满 Microsoft Access 窗口。该操作可以使用户尽可能多地看到活动窗口中的对象。
Minimize
将活动窗口缩小为 Microsoft Access 窗口底部的小标题栏。
MsgBox
显示包含警告信息或其它信息的消息框。
OpenForm
打开一个窗体,并通过选择窗体的数据输入与窗口方式,来限制窗体所显示的记录。
OpenReport
设计视图或打印预览中打开报表或立即打印报表。也可以限制需要在报表中打印的记录。
PrintOut
打印打开数据库中的活动对象,也可以打印数据表、报表、窗体和模块。
Quit
退出 Microsoft Access Quit 操作还可以指定在退出 Access 之前是否保存数据库对象。
RepaintObject
完成指定数据库对象的屏幕更新。如果没有指定数据库对象,则对活动数据库对象进行更新。更新包括对象的所有控件的所有重新计算。
Restore
将处于最大化或最小化的窗口恢复为原来的大小。
RunMacro
运行宏。该宏可以在宏组中。
SetValue
Microsoft Access 窗体、窗体数据表或报表上的字段、控件或属性的值进行设置。
StopMacro
停止当前正在运行的宏。
7.1.3宏与Visual BASIC代码的转换
Access中,所有的宏都对应着VBA中相应的程序代码,可以将宏操作转换为 Microsoft Visual Basic的事件过程或模块。这些事件过程或模块用 Visual Basic 代码执行与宏等价的操作。可以转换窗体或报表中的宏,也可以转换不附属于特定窗体或报表的全局宏。【例7.1】创建一个打开窗体的宏,然后将其转换成Visual BASIC代码。
操作步骤:
1 打开“教学数据库”窗口,单击“宏”对象。
2 单击“新建”按钮,打开如图7-1所示的宏设计窗口。
3 单击“操作”列的第一空行的下拉列表按钮,选择“OpenForm”操作。
4 单击“操作参数”区中的“表名称”行,单击右侧下拉按钮,从列表中选择“学生信息”,如图7-2所示。
5 单击“文件”菜单中“保存”按钮,弹出的“另存为”对话框中的“宏名称”文本框中输入“打开学生
信息表”,单击“确定”按钮保存。
6 关闭宏设计窗口,在数据库窗口宏对象中选择“打开学生信息表”宏,单击“工具”菜单,选择“宏”子菜单中的“将宏转换为Visual BASIC代码”,弹出如图7-3所示“转换宏”对话框,单击“确定”按钮。
7 转化结果如图7-4所示。
7-1 access常见条件表达式操作列表
7-2 操作参数
7-3 转换宏对话框
图7-4 宏代码转换结果
7.2 创建宏
7.2.1 宏的设计窗口
创建宏或宏组,一般都需要在宏设计窗口中进行,因此我们先了解宏设计窗口的组成和掌握宏设计窗口的使用。
在数据库窗口中,单击左侧对象中的“宏”,如图7-5所示。
图7-5 宏对象
然后单击窗口上方的“新建”按钮,打开宏设计窗口,如图7-6所示。宏设计窗口可以分为上下两部分。上部分包括宏名、条件、操作和注释4列,其中宏名和条件列默认状态下不显示,可以通过单击工具栏上的宏名和条件按钮将两列显示出来。窗口下半部分是“操作参数区”,用于选择宏操作的对象参数。
图7-6 宏的设计窗口
    宏设计窗口中“宏名”列中用户可以为每一个基本宏指定一个名称;“条件”列用以指定宏操作的条件;“操作”列可以为每个宏选择一个或多个宏操作;“注释”列中可以进行对宏操作作必要的说明,便于日后对宏操作的理解与维护。
    在“操作参数区”中,可以对每个宏操作对象的参数进行设置,选择的操作不同,其对应的参数也不同。
    宏设计窗口打开后会弹出一个工具栏,如图7-7所示。其各按钮和功能如下:
7-7 宏设计工具栏
【宏名】    显示宏定义窗口中的“宏名”列。
【条件】    显示宏定义窗口中的“条件”列。
【插入行】  在宏定义表中设定的当前行的前面增加一空白行。
【删除行】  删除当前行。
【运行】    运行宏。
【单步】    单步运行宏。
【生成器】  设置宏的操作参数。
7.2.2 宏的创建
创建宏是比较简单的,在创建中不涉及到设计宏的代码,也没有太多的语法需要用户去掌握,用户只需在宏的操作设计列表中进行一些简单的选择,然后对其中的一些属性进行设置即可。下面用一个例子介绍宏的创建过程。
【例7.2】在教学数据库中创建一个功能为:打印预览报表的宏。
操作步骤:
1 打开“教学数据库”,单击“宏”对象。
2 单击“新建”按钮,打开如图7-1所示的宏设计窗口。
3 单击“操作”列的第一空行的下拉列表按钮,选择“OpenReport”操作。
4 单击“操作参数”区中的“报表名称”行,单击右侧下拉按钮,从列表中选择要打印浏览的报表名,如:“教师信息表”。在“视图”行选择“打印预览”。如图7-8所示。
图7-8 “打印报表“宏设计窗口
5 单击“文件”菜单中“保存”按钮,弹出的“另存为”对话框中的“宏名称”文本框中输入“浏览教师信息表”,单击“确定”按钮保存。
创建其他的宏操作都采用相同的方法,创建宏的过程包括指定宏名、选择宏操作、设置操作参数、为操作输入注释说明,创建条件宏还需要设置操作的条件。创建宏时需要注意以下几点:
一个宏名可以只有一个宏操作,也可以包含多个宏操作。
参数设置时一般按照其排列的顺序进行,因为某一参数将决定该参数后面的参数。
在宏的设计过程中,也可以将某些对象(如窗体、报表及它们的控件对象等)拖到“宏”设计窗口的操作行,快速创建一个指定数据库对象上执行操作的宏。
7.2.3 宏组的创建
对于一个复杂的操作过程,可以将多个相关宏操作组织在一起构造宏组,不需要对单个追踪。创建宏组时,将相关联的宏操作一一列出,然后给该组宏操作起个名称即可,创建方法如下:
【例7.3】创建一个宏组,其中包含3个宏操作,实现的功能是先执行Beep,让计算机发出“嘟嘟”声;然后打开教师信息表;最后弹出一个信息提示框。
操作步骤:
1 打开“教学数据库”,单击“宏”对象。
2 单击“新建”按钮,打开宏设计窗口。
3 单击宏设计工具栏中的“宏名”按钮,宏设计窗口显示“宏名”列。
4 单击“操作”列的第一空行的下拉列表按钮,选择“Beep”操作。
5 单击“操作”列的第二行的下拉列表按钮,选择“OpenTable”操作。
6 单击“操作参数”区中的“表名称”行,单击右侧下拉按钮,从列表中选择“教师信息表”。如图7-9所示
图7-9 宏组设计窗口
7 单击“操作”列的第三行的下拉列表按钮,选择“MsgBox”操作。
8 单击“文件”菜单中“保存”按钮,弹出的“另存为”对话框中的“宏名称”文本框中输入“宏组”,单
击“确定”按钮保存。
保存宏组时,指定的名字是宏组的名字,宏组的命名方法与其他数据库对象相同,这个名字也是显示在数据库窗体中的宏和宏组列表中的名字。
7.2.4 创建条件操作宏
在数据库的操作中,当有时需要根据指定的条件来完成一个或多个宏操作,可以使用条件控制宏操作。创建带有条件的宏操作方法如下:
1 新建宏,打开宏设计窗口;
2 单击“宏设计”工具栏中的“条件”按钮,在设计窗口中显示条件列;
3 设置宏操作,在对应的宏操作条件列中编辑条件。
宏的“条件”是逻辑表达式,返回的值只能是“真”Ture或“假”False。运行时将根据条件结果的“真”或“假”,决定是否执行或如可执行宏操作。在输入条件表达式时,可能要引用窗体或报表上的控件值,其语法为:
Forms![窗体名]![控件名] 或 [Forms] ![窗体名]![控件名]
Reports![窗体名]![控件名] 或 [Reports] ![窗体名]![控件名]
【例7.4】创建一个带有条件的宏,用于验证用户输入的密码是否正确(密码为123),如果正确,则打开“教师信息表”,如果不正确,则提示出错信息。
该题中需要先建立一个用户输入密码的窗体,具体操作步骤如下:
1 打开“教学数据库”,单击“窗体”对象。单击“新建”按钮,打开窗体设计窗口。设计一个如图7-10所示的“验证密码”窗体,并保存。其中窗体命名为“验证密码”,文本框命名为“密码框”;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。