《数据库及其应用Access》第09章.docx
- 文档编号:27758367
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:18
- 大小:276.23KB
《数据库及其应用Access》第09章.docx
《《数据库及其应用Access》第09章.docx》由会员分享,可在线阅读,更多相关《《数据库及其应用Access》第09章.docx(18页珍藏版)》请在冰豆网上搜索。
《数据库及其应用Access》第09章
第9章宏
【本章要点】
Ø宏的基本概念
Ø宏、条件宏及宏组的创建
Ø宏的运行与调试
9.1宏的概念
宏是Access数据库的对象之一,其主要功能就是使操作自动进行。
使用宏,用户不需要编程,只需利用几个简单宏操作就可以将已经创建的数据库对象联系在一起,实现特定的功能。
9.1.1宏的基本概念
1.什么是宏
宏是由一个或多个操作组成的集合,其中的每个操作都能自动地实现某个特定的功能。
Access预先定义了50多种宏操作指令,它们和内置系统函数一样,为数据库应用提供了各种基本功能,例如,打开或关闭窗体、预览或打印报表、查找或过滤记录,等等。
为了实现某个特定的任务,可以使用宏操作创建一个有序的操作序列,这种操作序列就是宏。
执行宏时,自动执行宏中的每一条宏操作,以完成特定任务。
使用宏很方便,用户不需要记住各种语法,可以直接从宏设计视图中选择所要使用的宏操作,操作参数都显示在宏设计视图的下半部分。
如图9.1-1所示是宏的设计视图。
图9.1-1“宏”设计视图
2.宏与VisualBasic
Access中宏的操作,都可以在模块对象(参见第10章)中通过编写VBA(VisualBasicforApplication)语句来达到相同的功能。
选择使用宏还是VBA,主要取决于所要完成的任务。
一般来说,对于事务性的或重复性的操作,如:
打开或关闭窗体、预览或打印报表等,都可以通过宏来完成。
使用宏,可以实现以下一些操作:
①打开或关闭数据库对象;
②设置窗体或报表控件的属性值;
③建立自定义菜单栏;
④通过工具栏上的按钮执行自己的宏或者程序;
⑤筛选记录;
⑥在各种数据格式之间导入或导出数据,实现数据的自动传输;
⑦显示各种信息,并能使计算机扬声器发出报警声,以引起用户注意。
当要进行以下操作处理时,应该用VBA而不要使用宏:
①数据库的复杂操作和维护;
②自定义过程的创建和使用;
③一些错误处理。
9.1.2常用的宏操作
表9-1列出了Access提供的几十种常用宏操作。
表9-1常用宏操作列表
分类
宏操作
功能
打开
OpenDataAccessPage
打开数据访问页
OpenForm
打开窗体
OpenModule
打开VisualBasic模块
OpenQuery
打开查询
OpenReport
打开报表
OpenTable
打开表
焦点
GoToControl
焦点移到打开的窗体、数据表或查询的字段或控件上
GoToPage
在活动窗体中将焦点移到指定页的第一个控件上
SelectObject
选定数据库对象
设置值
SendKeys
将所击键发送到键盘缓冲区
SetValue
为窗体或报表中的控件设置属性值
更新
RepaintObject
对活动数据库对象进行屏幕更新,这种更新包括控件的重新计算和重新绘制
Requery
对指定控件重新查询,即刷新控件数据
记录
ApplyFilter
对表、窗体或报表应用筛选
FindRecord
查找符合条件的第一个记录
FindNext
查找下一个符合条件的记录
GoToRecord
指定当前记录
RunApp
在Access中运行外部应用程序
RunCode
调用VisualBasic的Function过程
RunCommand
执行Access菜单栏、工具栏或快捷菜单中的内置命令
RunMacro
执行其他宏
RunSQL
运行指定的SQL语句
StopAllMacro
终止当前所有宏的运行
StopMacro
终止当前正在运行的宏
窗口
Maximize
窗口最大化
Minimize
窗口最小化
MoveSize
移动窗口或调整窗口大小
Restore
恢复窗口原来的大小
打印
PrintOut
打印活动的数据表、窗体、报表、数据访问页和模块,效果与文件菜单中的打印命令相似,但不显示打印对话框
信息
Beep
使计算机的扬声器发出“嘟嘟”声
MsgBox
显示包含警告信息或其他信息的消息框
SetWamings
打开或关闭系统消息
复制
CopyObject
将指定的数据库对象复制到Access的另一个数据库中
删除
DeleteObject
删除当前数据库中指定的对象
重命名
Rename
重新命名当前数据库中指定的对象
保存
Save
保存一个指定的Access对象
关闭
Close
关闭指定的表、查询、窗体、报表、宏等窗口或活动窗口
Quit
退出Access,效果与文件菜单中的退出命令相同
导入
导出
OutputTo
将指定的数据库对象(数据表、窗体、报表、模块、数据访问页)中的数据以某种格式输出,其文件扩展名可以为:
.htm、.html、.txt、.asp、.xls、.rtf、.xml
TransferDatabase
在当前Access数据库与其他数据库之间导入或导出数据
TransferSpreadsheet
在当前Access数据库与电子表格文件之间导入或导出数据
TransferText
在当前Access数据库与文本文件之间导入或导出数据
9.1.3宏的分类
Access的宏可以是包含操作序列的宏,也可以是一个宏组,宏组由若干个宏组成。
另外,还可以使用条件表达式来决定在什么情况下运行宏。
根据以上三种情况,可以把宏分为三类:
操作序列宏、宏组和条件宏。
1.操作序列宏
操作序列宏是由一系列的宏操作组成的序列。
每次运行该宏时,都将顺序执行这些操作。
2.宏组
可以将相关的宏保存在同一个宏对象中,使它们组成一个宏组,这样将有助于对宏的管理。
3.条件宏
条件宏带有条件列,通过在条件列指定条件,可以有条件的执行某些操作。
如果指定的条件成立,将执行相应一个或多个操作;如果指定的条件不成立,将跳过该条件所指定的操作。
对于宏来说,宏的应用包括创建宏、运行宏两个基本步骤。
9.2宏的创建
9.2.1创建宏的基本方法
1.两种创建宏的方法
(1)在数据库的“宏”对象窗口中创建宏
在数据库窗口单击“宏”对象,再单击“新建”按钮,就会打开一个用来设置宏操作的窗口,即宏设计视图,如图9.1-1所示。
(2)在为对象创建事件的行为时创建宏
打开对象的属性表,选择某个事件,单击该事件框右侧的生成器按钮,在“选择生成器”对话框中选择“宏生成器”,也可打开如图9.1-1所示的宏设计视图。
〖例9-1〗创建一个能复制“图书”表的宏,要求单击“图书”窗体,就能调用该宏复制出“图书A”表。
设计操作步骤如下:
①打开“图书销售”数据库窗口,单击“宏”对象,再单击“新建”按钮,打开宏设计视图。
②设置宏操作及操作参数。
内容包括:
●在“操作”列的第一行中选择MsgBox,“注释”列中输入:
为复制显示一个信息框。
设置操作参数,“消息”栏中输入:
按“确定”按钮复制“图书”表,“标题”栏中输入:
信息。
●在“操作”列的第二行中选择CopyObject,“注释”列中输入:
复制“图书”表。
设置操作参数,“新名称”栏中输入:
图书A,“源对象类型”栏中选择:
表,“源对象名称”栏中选择:
图书。
●在“操作”列的第三行中选择close,“注释”列中输入:
关闭“图书”窗体。
设置操作参数,“对象类型”栏中选择:
窗体,“对象名称”栏中选择:
图书。
③保存宏,单击“保存”按钮,在“另存为”对话框中输入宏名“复制”。
所设计的宏如图9.2-1所示。
图9.2-1宏操作及操作参数设置
④为“图书”窗体的单击事件选定宏,“图书”窗体是前面设计好的对象窗体。
●在“图书销售”数据库窗口,单击“窗体”对象,选择“图书”窗体,单击“设计”按钮,打开“图书”窗体。
●在“窗体”的属性表中,选择“单击”事件,在“单击”事件栏右侧的下拉箭头中选择“复制”宏。
⑤运行宏
●
在“图书销售”数据库窗口,单击“窗体”对象,选择“图书”窗体,单击“打开”按钮,在窗体视图中显示“图书”窗体。
●用鼠标单击“图书”窗体中记录选定器,则弹出信息框,如图9.2-2所示。
单击“确定”按钮,将“图书”表复制生成“图书A”表。
该例也可以用第二种方法创建宏。
2.宏设计视图的组成
宏设计视图是创建和修改宏的界面。
宏设计视图实际上是一个程序序列表,但用户不需要编写程序代码,而是通过在宏设计视图中选择宏操作及其操作参数,来设置程序功能。
宏设计视图分为上、下两个部分:
(1)上部分的列表
创建宏时,上部分的列表只有“操作”和“注释”两列,可以添加“条件”列和“宏名”列。
①“操作”列,用于设置宏的操作序列。
每个框中可以选定一个宏操作。
运行宏时,通常从上而下执行宏操作,并跳过空白的框。
②“注释”列,为宏操作输入说明文本。
执行宏操作时,该部分不被执行。
③“条件”列,用于设置宏操作的执行条件,只有当条件满足时,才执行相应的宏操作。
当宏设计视图中没有“条件”列时,可选择“视图”菜单的“条件”命令,这时“条件”命令前打上“√”,宏设计视图中出现“条件”列。
若要取消“条件”列,选择“视图”菜单的“条件”命令,取消“条件”命令前的“√”,即可。
④“宏名”列,输入宏组中宏的名称。
一个宏组中可以包含多个宏,每个宏用一个宏名来标示,每个宏中可以包含多个宏操作。
当宏设计视图中没有“宏名”列时,可选择“视图”菜单的“宏名”命令,这时“宏名”命令前打上“√”,宏设计视图中出现“宏名”列。
若要取消“宏名”列,选择“视图”菜单的“宏名”命令,取消“宏名”命令前的“√”,即可。
(2)下部分的列表
下部分的列表是“操作参数”列表,为上部分的列表中所选的宏操作设置附加信息。
不同的宏操作,“操作参数”的设置内容也不相同。
例如:
在〖例9-1〗中,MsgBox宏操作,对应的操作参数有:
消息、发嘟嘟声、类型及标题。
CopyObject宏操作,对应的操作参数有:
目标数据库、新名称、源对象类型及源对象名称。
(3)设置宏操作及参数时注意的问题
①如果要设置的宏操作与数据库的对象有关,可以用鼠标拖拽的方法自动进行设置。
例如,要想创建一个宏,打开“进入系统”窗体。
打开宏设计视图后,选择数据库窗体对象中的“进入系统”窗体,按住鼠标左键,将其拖拽到宏设计视图的“操作”列中,这时宏操作自动完成设置,如图9.2-3所示。
图9.2-3宏操作及操作参数的快速设置
②如果要通过表达式来设置参数,通常表达式前要加等号(=)。
但是,SetValue宏操作的“表达式”参数和RunMacro宏操作的“重复表达式”参数除外。
③有的参数将会影响其后参数的选择,通常应按操作参数的排列顺序进行设置。
3.AutoExec宏的使用
使用一个名为AutoExec的特殊宏可在打开数据库时自动执行一系列的操作。
在打开数据库时,Access将查找名为AutoExec的宏,如果找到就自动运行它。
如果创建一个宏,其中包含在打开数据库时要执行的操作,则应以AutoExec为宏名保存该宏。
那么下一次打开数据库时,Access将自动运行该宏。
在使用AutoExec宏时需要注意的是:
①如果不想在打开数据库时运行AutoExec宏,可在打开数据库时按住Shift键。
②通过设置“工具”菜单中的“启动”对话框中的选项,也可以控制如何启动数据库。
9.2.2创建条件宏
在某些情况下,希望仅当特定条件满足时才执行宏中的一个或多个操作,则可以在操作前面加上条件,形成条件宏。
1.条件表达式
条件通常是用条件表达式表示的,条件表达式的返回值只有两个:
“真”或“假”。
当条件成立时,表达式的返回值为“真”;条件不成立时,表达式的返回值为“假”。
条件表达式可以在宏设计视图的“条件”列中直接输入,也可以在“条件”列中单击右键,从弹出的快捷菜单中选择“生成器”来生成条件表达式。
条件表达式常用第5章中介绍的关系运算表示,例如:
[书名]=“数据库及其应用”
[进书日期]Between#2007-01-01#and#2007-09-30#
Forms!
[销售情况]!
[销售数量]>=100
[定价]IsNull
2.创建条件宏
创建条件宏,具体操作步骤如下:
①在“数据库”窗口中,选择“宏”对象,在“宏”对象窗口中单击“新建”按钮。
②打开“宏”设计视图,选择“视图”菜单中的“条件”命令,或单击工具栏“条件”按钮,在“宏”设计窗口中添加一个“条件”列。
③将所需要的条件表达式输入到“宏”设计窗口的“条件”列中。
④在“操作”列中选择条件表达式为“真”时要执行的操作。
如果条件表达式的返回值为“真”,则执行此行中的操作;如果表达式的返回值为“假”,则忽略此行的操作。
⑤若要添加更多的操作,则移动到下一个操作行。
如果该行的操作条件与上一行相同,在相应的“条件”栏输入省略号(…)即可;如果该行是无条件执行的,可使“条件”列为空。
⑥命名并保存设计好的宏。
〖例9-2〗为“调价”窗体创建一个修改新价格的宏,要求对图书表中的前10种图书在原价格的基础上打9折。
“调价”窗体如图9.2-4所示。
设计的操作步骤如下:
①在“数据库”窗口中,选择“宏”对象,在“宏”对象窗口中单击“新建”按钮。
②单击工具栏“条件”按钮,在“宏”设计窗口中添加一个“条件”列。
③创建条件宏操作:
●在“条件”列中输入条件表达式:
[CurrentRecord]<=10。
(注:
CurrentRecord表示当前记录号)
●在“操作”列中选择操作:
SetValue。
●在“注释”列中输入:
前10种图书的新定价是在原定价上打9折。
④设置操作参数:
●“项目”栏中输入:
[Forms]!
[调价].[text9]
●“表达式”栏中输入:
[Forms]!
[调价].[定价]*0.9
图9.2-4“调价”窗体
⑤将设计好的宏保存并命名为“调价”,如图9.2-5所示。
⑥在设计视图中打开“调价”窗体,选择“新定价”文本框,在属性表中选择“获得焦点”事件,单击下拉箭头,选择“调价”宏。
图9.2-5“调价”宏
⑦在窗体视图中打开“调价”窗体时,“新定价”文本框中将显示打折后的新定价。
9.2.3创建宏组
为了便于管理,增强可读性,通常将相关的宏组成一个宏组,放在同一个宏对象中。
例如,同一个窗体有个按钮,分别触发两个不同的宏运行,那么这两个宏可以放在一起组成一个宏组。
建立宏组主要是为了管理方便,这与在资源管理器中建立文件夹,将相关文件存放在同一个文件夹中的做法意义相似。
创建宏组的具体操作如下:
①在“数据库”窗口中,选择“宏”对象,在“宏”对象窗口中单击“新建”按钮。
②打开“宏”设计视图,选择“视图”菜单中的“宏名”命令,或单击工具栏“宏名”按钮,在“宏”设计窗口中添加一个“宏名”列。
③在“宏名”列内,输入宏组中第一个宏的名字。
④在“操作”列中选择所需的操作。
⑤如果希望在宏组内包含其他的宏,请重复第③和④步。
⑥命名并保存设计好的宏。
注意:
保存宏组时,指定的名字是宏组的名字。
这个名字也是显示在“数据库”窗口中的宏对象列表的名字。
9.3宏的运行与调试
当创建了一个宏后,需要对宏进行运行与调试,以便查看创建的宏是否含有错误,是否能完成预期任务。
9.3.1运行宏
宏可以有以下三种运行方式。
1.直接运行宏
如果要直接运行宏,可以进行下列操作之一:
●从“宏”设计视图中运行宏,选中要运行的宏,然后工具栏上的“运行”按钮。
●从“数据库”窗口中运行宏,选择“宏”对象,然后双击相应的宏名。
●从Access的系统菜单中运行宏,选择“工具”菜单中的“宏”,单击“运行宏”命令,然后在“宏名”框中选择相应的宏。
2.从其他宏中运行宏
如果要从其他的宏中运行宏,请将RunMacro操作添加到相应的宏中,并且将MacroName参数设置为要运行的宏名。
3.在窗体、报表或控件的事件中运行宏
通常情况下直接运行宏只是进行测试。
在确保宏的设计无误之后,可以将宏附加到窗体、报表或控件中,以对事件做出响应。
宏可以对窗体、报表或控件中的多种类型事件做出响应,包括鼠标单击、数据更改以及窗体或报表的打开或关闭等。
在报表、窗体或控件上添加宏以响应某个事件,操作步骤如下:
①在设计视图中打开窗体或报表。
②创建宏或事件过程。
例如,可以创建一个用于在单击命令按钮时显示某种信息的宏或事件过程。
③将窗体、报表或控件的某个事件属性设置为宏的名称。
例如,要单击按钮时显示某种信息,可以将命令按钮的“单击”事件设置为用于显示信息的宏的名称。
9.3.2运行宏组
1.运行宏组中的宏
将鼠标指向“工具”菜单中的“宏”,单击“执行宏”命令,然后选定“宏名”列表中的宏。
宏组中的每个宏都会以“宏组名.宏名”的形式出现在列表中。
2.从其他宏中运行宏组中的宏
如果要从其他的宏中运行宏,请将RunMacro操作添加到相应的宏中,并且将MacroName参数设置为要运行的宏名。
宏组中的宏名用如下格式表示:
宏组名.宏名。
3.在窗体、报表或控件的事件中运行宏组中的宏
将窗体、报表或控件的某个事件的属性设置为:
宏组名.宏名。
9.3.3调试宏
如果创建的宏没有实现预期的效果,或者宏的运行出了错误,就应该对宏进行调试,查找错误。
常用的调试方法是通过对宏进行单步执行来发现宏中错误的位置。
使用单步执行宏,可以观察宏的流程和每一个操作的结果,便于发现错误。
对宏进行单步执行的操作步骤如下:
①选中要单步执行的宏,单击“设计按钮,打开相应的宏。
②单击工具栏上的“单步”按钮
③单击工具栏上的“运行”按钮,显示“单步执行宏”对话框,
④在“单步执行宏”对话框中,单击“单步执行”按钮,执行“操作名称:
”下面显示的操作;单击“停止”按钮,则停止宏的运行并关闭对话框;单击“继续”按钮,则关闭单步执行,并执行宏的未完成部分。
在单步执行宏时,“单步执行宏”对话框中列出了每一步所执行的宏操作“条件”是否成立以及操作名称和操作参数。
通过观察这些内在的结果,可以得知宏操作是否能预期执行。
〖例9-3〗为“登陆系统”窗体创建一个宏组,要求宏组中包括:
一个宏名为“确定”的宏,功能为当密码输入正确时,显示信息框“欢迎进入图书销售管理系统”,并打开“图书销售系统切换面板”窗体;如果密码输入不正确,显示信息框“密码输入错误”。
另一个宏名为“退出”,功能为关闭“登陆系统”窗体。
“登陆系统”窗体如图9.2-6所示。
设计操作步骤如下。
①在“数据库”窗口中,选择“宏”对象,在“宏”对象窗口中单击“新建”按钮。
②单击工具栏“宏名”及“条件”按钮,在“宏”设计窗口中添加“宏名”及“条件”列。
图9.2-6“登陆系统”窗体
③输入宏名、条件、操作及参数,如表9-2所示。
表9-2“登录系统”宏的操作及参数设置
宏名
条件
宏操作
操作参数
确定
[Forms]!
[登录系统].[Text2].[Value]
="123456"
MsgBox
消息:
欢迎进入图书销售管理系统
标题:
登录
…
OpenForm
窗体名称:
图书销售管理切换面板
视图:
窗体
[Forms]!
[登录系统].[Text2].[Value]
<>"123456"
MsgBox
消息:
密码输入错误!
标题:
提示
退出
Close
对象类型:
窗体
对象名称:
登录系统
④将设计好的宏保存并命名为“登录系统”,如图9.2-7所示。
图9.2-7“登陆系统”宏
⑤在设计视图中打开“登录系统”窗体,为命令按钮设置事件:
●选择“确定”按钮,在属性列表中选择“单击”事件,单击下拉箭头,选择“登录系统.确定”宏。
●选择“退出”按钮,在属性列表中选择“单击”事件,单击下拉箭头,选择“登录系统.退出”宏。
⑥在窗体视图中打开“登录系统”窗体,当输入的密码为:
123456,单击“确定”按钮,这时将出现信息框,单击信息框的“确定”按钮,打开“图书销售管理切换面板”窗体,如图9.2-8所示。
如果输入的密码不是123456,将出现密码错误信息框。
图9.2-8“登陆系统”窗体运行结果
本章小结
本章主要介绍了Access中宏的概念、宏的创建及宏的运行。
宏是由一个或多个操作组成的集合,其中的每个操作都能自动地实现某个特定的功能。
执行宏时,自动执行宏中的每一条宏操作,以完成特定任务。
Access的宏可以是包含操作序列的宏,即操作序列宏;也可以是由若干个宏组成的宏组;还可以使用条件表达式来决定在什么情况下运行宏,即条件宏。
创建宏既可以在数据库的“宏”对象窗口中创建宏,也可以在为窗体或报表的对象创建事件行为时创建宏。
当创建了一个宏后,需要对宏进行运行与调试。
可以使用单步执行宏来对所创建的宏进行调试,以观察宏的流程和每一个操作的结果,便于发现错误。
运行宏时可以直接利用“运行”的命令来执行相应的宏,但大多数情况下,是将宏附加到窗体、报表或控件中,以对事件做出响应。
思考题九
1.什么是宏?
宏的主要功能是什么?
2.什么是条件宏?
如何创建条件宏?
3.什么是宏组?
如何创建宏组?
4.使用宏组的目的是什么?
5.有哪几种运行宏的方法?
6.什么是宏的调试?
如何进行调试?
7.什么是宏操作参数?
用表达式来设置参数时应注意什么?
8.什么是自动执行宏?
自动执行宏的命名有什么要求?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库及其应用Access 数据库 及其 应用 Access 09