《第7章宏的建立和使用》由会员分享,可在线阅读,更多相关《第7章宏的建立和使用(42页珍藏版)》请在金锄头文库上搜索。
1、第第7 7章章 宏的建立和使用第第7章和第章和第8章主要讨论章主要讨论Access数据库数据库的自动处理问题。在的自动处理问题。在Access中实现自动处中实现自动处理有两种方法:宏和理有两种方法:宏和VBA模块。模块。本章主要介绍宏的概念和使用方法。本章主要介绍宏的概念和使用方法。第7章 宏的建立和使用 宏的基本概念宏的基本概念7.1宏的创建和使用宏的创建和使用 7.2复杂宏的创建和使用复杂宏的创建和使用 7.37.1 7.1 宏的基本概念宏的基本概念7.1.1宏的定义和特点宏的定义和特点7.1.2宏组的概念宏组的概念1宏的定义宏的定义宏是能被自动执行的某种操作或操作的集合。宏是能被自动执行
2、的某种操作或操作的集合。在在Access中,共定义了中,共定义了50多种这样的基本操作,多种这样的基本操作,也叫宏命令。其中,每个操作执行特定的功能。也叫宏命令。其中,每个操作执行特定的功能。例如,打开和关闭表、查询、窗体和报表,显示例如,打开和关闭表、查询、窗体和报表,显示消息框,振铃,在记录集中筛选、定位等。将这消息框,振铃,在记录集中筛选、定位等。将这些宏命令单独使用或按照要实现的功能进行组合,些宏命令单独使用或按照要实现的功能进行组合,就是可以实现指定功能的宏。就是可以实现指定功能的宏。7.1.1 宏的定义和特点宏的定义和特点上图是用宏设计窗口打开的某个宏上图是用宏设计窗口打开的某个宏
3、,其中该宏其中该宏由两个宏命令组成:由两个宏命令组成:nMsgBoxnOpenForm运行时运行时,系统会自动顺序执行这两个宏命令系统会自动顺序执行这两个宏命令对于一些复杂的操作,还可以使用条件对于一些复杂的操作,还可以使用条件宏,即在执行宏的过程中按照一定的逻宏,即在执行宏的过程中按照一定的逻辑条件来决定执行哪些宏命令。辑条件来决定执行哪些宏命令。使用宏的好处使用宏的好处: :创建的过程简单。不需编程,不需记住创建的过程简单。不需编程,不需记住各种复杂的语法,即可实现某些特定的各种复杂的语法,即可实现某些特定的自动处理功能自动处理功能2常用宏命令常用宏命令在在Access中,共定义了中,共定
4、义了50多种宏命令。多种宏命令。P219,表表7-1常用的宏常用的宏宏命令是创建宏的资源。创建宏的过程就宏命令是创建宏的资源。创建宏的过程就是将这些宏命令按照要实现的功能进行排是将这些宏命令按照要实现的功能进行排列组合的过程。列组合的过程。宏组是共同存储在一个宏名下的相关宏组是共同存储在一个宏名下的相关宏的集合。宏的集合。可以将功能相近或彼此相关的若干宏可以将功能相近或彼此相关的若干宏组织成宏组。这样做的好处是便于宏的组组织成宏组。这样做的好处是便于宏的组织和管理。织和管理。在宏组中,依靠宏名区分其中的每个在宏组中,依靠宏名区分其中的每个宏。宏。7.1.2 宏组的概念宏组的概念7.2 7.2
5、宏的创建和使用宏的创建和使用7.2.1宏的设计窗口宏的设计窗口7.2.2宏的创建宏的创建7.2.3宏的运行宏的运行7.2.4在窗体中加入宏在窗体中加入宏使用宏窗口创建和编辑宏。使用宏窗口创建和编辑宏。在在“数据库数据库”窗口的窗口的“宏宏”对象中单击对象中单击“新建新建”和和“打开打开”按钮都可以打开宏窗口。按钮都可以打开宏窗口。7.2.1 宏的设计窗口宏的设计窗口 宏窗口的组成宏窗口的组成:n“操作操作”列列 n“宏名宏名”列列 n“条件条件”列列n“注释注释”列列 n“操作参数操作参数”部分部分 n“说明说明”部分部分 有两种途径可以创建宏。一种是在有两种途径可以创建宏。一种是在“数据库数
6、据库”窗口的窗口的“宏宏”对象下创建宏,另对象下创建宏,另一种是在要使用宏的窗体或报表上创建宏。一种是在要使用宏的窗体或报表上创建宏。下面介绍第一种方法。下面介绍第一种方法。7. 2.2 宏的创建宏的创建 在在“数据库数据库”窗口创建宏窗口创建宏:1 1进入宏窗口进入宏窗口在在在在“ “数据库数据库数据库数据库” ”窗口的窗口的窗口的窗口的“ “宏宏宏宏” ”对象下单击对象下单击对象下单击对象下单击“ “新建新建新建新建” ”按钮,打开宏窗口。按钮,打开宏窗口。按钮,打开宏窗口。按钮,打开宏窗口。2 2编辑宏编辑宏首先指定宏命令,然后首先指定宏命令,然后首先指定宏命令,然后首先指定宏命令,然后
7、为该宏命令设置参数。为该宏命令设置参数。为该宏命令设置参数。为该宏命令设置参数。3 3保存宏保存宏关闭宏窗口,并为新宏关闭宏窗口,并为新宏关闭宏窗口,并为新宏关闭宏窗口,并为新宏命名。命名。命名。命名。例例7-0 创建一个名为创建一个名为7-0的宏,运用该宏的宏,运用该宏时,又时,又“只读只读”方式方式打开打开“学生表学生表”例例7-1创建宏,执行时,提示创建宏,执行时,提示“欢迎进入欢迎进入”消息框,同时扬声器发出嘟嘟声,点击消息框,同时扬声器发出嘟嘟声,点击“确定确定”后,打开后,打开“学生信息窗体学生信息窗体1”窗体。窗体。本例中用到的两个宏命令:本例中用到的两个宏命令:n nMsgBo
8、xMsgBox:显示含有警告或提示信息的消息框。:显示含有警告或提示信息的消息框。(P256P256)“ “消息消息” ”:指定消息框中显示的信息:指定消息框中显示的信息“ “警告警告” ”:指定信息前显示的图标的类型:指定信息前显示的图标的类型“ “标题标题” ”:指定消息框标题栏中显示的标题。:指定消息框标题栏中显示的标题。n nOpenFormOpenForm:按指定的窗口模式和视图方式打开一个指:按指定的窗口模式和视图方式打开一个指定窗体。定窗体。视图方式:可以是视图方式:可以是“ “窗体窗体” ”、“ “设计设计” ”、“ “打印预览打印预览” ”等。窗口模式:可以是等。窗口模式:可
9、以是“ “普通普通” ”、“ “隐藏隐藏” ”、“ “图标图标” ”和和“ “对话框对话框” ”。步骤:略步骤:略7.2.3 宏的运行宏的运行 运行宏时,系统按照宏中宏命令的排运行宏时,系统按照宏中宏命令的排列顺序由上向下依次执行各个宏命令。列顺序由上向下依次执行各个宏命令。1直接运行宏直接运行宏方法方法1:在:在“数据库数据库”窗口运行宏。窗口运行宏。方法方法2:菜单:菜单“工具工具”“宏宏”“运行运行宏宏”2用事件触发宏用事件触发宏更一般的方法是设置使宏运行的条件,用更一般的方法是设置使宏运行的条件,用事件触发宏事件触发宏常用的触发宏的操作有:常用的触发宏的操作有:(1)将宏和某个窗体、报
10、表相连。)将宏和某个窗体、报表相连。当其中的数据被修改的前后,或者该窗体失去当其中的数据被修改的前后,或者该窗体失去/ /获得焦点,获得焦点,或者在窗体中执行了鼠标或键盘操作,都可以设置使其触发或者在窗体中执行了鼠标或键盘操作,都可以设置使其触发运行宏。运行宏。(2)用菜单或工具栏上的某个命令按钮触发宏。)用菜单或工具栏上的某个命令按钮触发宏。(3)将宏和窗体、报表中的某个控件相连。)将宏和窗体、报表中的某个控件相连。当单击了该控件,或其中的数据发生改变,或该控件失去当单击了该控件,或其中的数据发生改变,或该控件失去/ /获得焦点时运行宏。获得焦点时运行宏。(4)用快捷键触发执行宏。)用快捷键
11、触发执行宏。(5)制作)制作autoexec宏。宏。使得打开数据库时自动运行宏。使得打开数据库时自动运行宏。例例7-2在在“工具工具”菜单项中添加一条命令,使菜单项中添加一条命令,使得单击后能够运行例得单击后能够运行例7-1创建的宏创建的宏“欢迎进入欢迎进入”。操作步骤:操作步骤:(1)菜单菜单“工具工具”“自定义自定义”命令,打开命令,打开“自定义自定义”窗口,选择窗口,选择“命令命令”选项卡。选项卡。(2)在)在“类别类别”列表中选择列表中选择“所有宏所有宏”选项。选项。(3)用鼠标将宏)用鼠标将宏“欢迎进入欢迎进入”拖曳到菜单拖曳到菜单“工具工具”中。中。7.2.4 在窗体中加入宏在窗体
12、中加入宏 实际使用中更多的是将宏与窗体或报实际使用中更多的是将宏与窗体或报表中的某些控件相联系,当这些控件的某表中的某些控件相联系,当这些控件的某个事件发生时触发运行宏。个事件发生时触发运行宏。例例7-3修改第修改第5章所建的窗体章所建的窗体“学生信息窗学生信息窗体体1”,添加名为,添加名为“成绩信息成绩信息”的命令按钮,的命令按钮,单击时,弹出单击时,弹出“成绩子窗体成绩子窗体”,并显示当,并显示当前学生所对应的成绩信息。前学生所对应的成绩信息。操作步骤:操作步骤:(1)修改)修改“学生信息窗体学生信息窗体1”窗体窗体(2)创建宏)创建宏“查询成绩查询成绩”(3)连接宏)连接宏“查询成绩查询
13、成绩”与窗体中的与窗体中的“成绩成绩信息信息”按钮按钮右键单击窗体中的右键单击窗体中的“查询查询”按钮,打开其属按钮,打开其属性窗口,设置按钮的单击事件为运行宏性窗口,设置按钮的单击事件为运行宏“查查询学号询学号” ” 用到的两个基本宏命令:用到的两个基本宏命令:nGoToControl:将焦点移到窗体上指定的字:将焦点移到窗体上指定的字段段“学号学号”上,为执行下面的上,为执行下面的FindRecord宏命宏命令做准备。令做准备。nFindRecord:在当前窗体的数据集中查找符:在当前窗体的数据集中查找符合条件的记录。合条件的记录。参数参数“查找内容查找内容”为:为:=Forms!学生信息
14、窗体学生信息窗体1.学号学号7.3 7.3 复杂宏的创建和使用复杂宏的创建和使用 7.3.1宏组的创建和运行宏组的创建和运行7.3.2条件操作宏条件操作宏除了创建简单宏,在除了创建简单宏,在Access中还可以中还可以创建更复杂的条件宏,也可以将几个相创建更复杂的条件宏,也可以将几个相关的宏放在一起组成宏组。关的宏放在一起组成宏组。7.3.1 宏组的创建和运行宏组的创建和运行(P225)n宏组由若干彼此相关的宏组成宏组由若干彼此相关的宏组成n宏组中的每个宏有自己的宏名,执行宏组宏组中的每个宏有自己的宏名,执行宏组中的宏时需要在宏名前加宏组名,形式为:中的宏时需要在宏名前加宏组名,形式为:宏组名
15、宏名。宏组名宏名。n建立宏组的目的是方便管理建立宏组的目的是方便管理()打开宏窗口,执行菜单命令()打开宏窗口,执行菜单命令“视图视图”“宏宏名名”,调出,调出“宏名宏名”列。列。()创建宏组中的各个宏,并在()创建宏组中的各个宏,并在“宏名宏名”列中为列中为每个宏命名。每个宏命名。创建宏组:创建宏组:例例7-4创建窗体创建窗体“按性别浏览学生信息按性别浏览学生信息”,使得单击不同的按钮可以按不同性别浏,使得单击不同的按钮可以按不同性别浏览学生信息。览学生信息。本例的关键:本例的关键:3 3个按钮连接的宏分别对数据集进行不同的筛选,个按钮连接的宏分别对数据集进行不同的筛选,可将它们组织在一个宏
16、组可将它们组织在一个宏组“按性别浏览按性别浏览”中。中。操作步骤:操作步骤:(1)创建宏组)创建宏组“按性别浏览按性别浏览”(2)将宏组中的宏与窗体中的按钮连接)将宏组中的宏与窗体中的按钮连接 7.3.2 条件操作宏(条件操作宏(P223)条件宏是设置了宏命令的执行条件的宏。条件宏是设置了宏命令的执行条件的宏。运行宏时先测试条件,如果条件成立,则执行运行宏时先测试条件,如果条件成立,则执行对应的宏命令。否则,不执行。对应的宏命令。否则,不执行。u操作时需要先执行菜单命令操作时需要先执行菜单命令“视图视图”“条件条件”,调出,调出“条件条件”列。列。关于创建条件宏:关于创建条件宏:u其中其中条件
17、条件是任何计算结果为是任何计算结果为True/False或或“是是/否否”的的表达式表达式例如:例如:Forms!按性别浏览学生按性别浏览学生.frm性别性别=1例例7-5修改修改“按性别浏览学生按性别浏览学生”窗体,将窗体,将其中的其中的“男男”、“女女”和和“全体全体”3个按个按钮用选项组替换。钮用选项组替换。本例的关键:本例的关键:和例和例7-47-4相比,按钮被换成了选项组,当单相比,按钮被换成了选项组,当单击选项组时,根据哪一个单选按钮被选中击选项组时,根据哪一个单选按钮被选中决定执行何种筛选,所以判断哪个单选钮决定执行何种筛选,所以判断哪个单选钮被按下即为本例中的条件。被按下即为本
18、例中的条件。 Forms!按性别浏览学生按性别浏览学生.frm性别性别=1操作步骤:操作步骤:(1)修改窗体)修改窗体“按性别浏览学生按性别浏览学生”略略(2)创建宏)创建宏“按性别浏览之选项组按性别浏览之选项组”略略说明:宏命令说明:宏命令“RunMacro”“RunMacro”可以在宏中调用另外的可以在宏中调用另外的宏,还可以设置宏执行的重复次数。宏,还可以设置宏执行的重复次数。(3)将宏与窗体中的选项组控件连接)将宏与窗体中的选项组控件连接略略例例7-6修改例修改例5-11所建所建“系统登录系统登录”窗体,窗体,为其添加密码验证功能。为其添加密码验证功能。分析:分析:当输入了正确的用户名
19、当输入了正确的用户名“cueb”“cueb”和正确的口令和正确的口令“1234”“1234”n关闭关闭“系统登录系统登录”窗体窗体n显示显示“欢迎欢迎”消息框消息框如果输入的用户名或口令不正确如果输入的用户名或口令不正确n显示显示“密码不正确!密码不正确!”消息框消息框n将用户名和口令两个文本框清空将用户名和口令两个文本框清空n焦点移回焦点移回“用户名用户名”文本框文本框结论:结论:在在“确定确定”按钮上设置条件宏,实现上面的操作按钮上设置条件宏,实现上面的操作操作步骤:操作步骤:(1)修改窗体)修改窗体“系统登录系统登录”略略(2)创建宏)创建宏“密码验证密码验证”略,略,见后页见后页(3)
20、将宏与窗体中的按钮控件连接)将宏与窗体中的按钮控件连接略略其中,在步骤(其中,在步骤(2)中用到的宏命令:)中用到的宏命令:nSetValue:为窗体或报表上的控件、字段或属性设置值。:为窗体或报表上的控件、字段或属性设置值。这这里用来为文本框设置值里用来为文本框设置值,从而达到将文本框清空的目的。,从而达到将文本框清空的目的。StopMacro:终止宏的运行。:终止宏的运行。nClose:用来关闭指定的窗口。:用来关闭指定的窗口。本例为默认值,即当前窗口。本例为默认值,即当前窗口。自动运行宏自动运行宏(P228)(P228)如果有宏命名为如果有宏命名为“Autoexec”,则在打开,则在打开
21、该宏所在数据库时,系统会自动执行该宏。该宏所在数据库时,系统会自动执行该宏。若希望跳过若希望跳过autoexec宏的运行,则在打开宏的运行,则在打开数据库时按住数据库时按住“SHIFT”键跳过。键跳过。设置启动窗体(设置启动窗体(P229P229)菜单:工具菜单:工具启动启动将宏转化成将宏转化成VBAVBA(P231P231)菜单:工具菜单:工具宏宏将宏转换为将宏转换为VBA程序程序代码的宏代码的宏本章小结:本章小结:(1)宏是能被自动执行的某种操作或操)宏是能被自动执行的某种操作或操作的集合。组成宏的基本操作就是宏命令,作的集合。组成宏的基本操作就是宏命令,是是Access预先提供的,每个操
22、作执行特定预先提供的,每个操作执行特定的功能。的功能。(2)使用宏窗口创建宏)使用宏窗口创建宏(3)常用运行宏的方法是用事件触发宏)常用运行宏的方法是用事件触发宏(4)在)在Access中还可以创建更复杂的条中还可以创建更复杂的条件宏,也可以将几个相关的宏放在一起组件宏,也可以将几个相关的宏放在一起组成宏组。成宏组。本章作业:本章作业:下周一上课交交下周一上课交交实验指导书实验指导书P107,第,第2题,添加要求如下:题,添加要求如下:1)设库中有名为设库中有名为tTeacher的表的表(该表可从实验第该表可从实验第10章章的第的第4题库中导入)题库中导入)2)在()在(4)后增加要求:运行窗体时,单击)后增加要求:运行窗体时,单击“确定确定”按钮时,显示选项组中选定性别的按钮时,显示选项组中选定性别的tTeacher内容。单击内容。单击“退出退出”时,关闭窗体。时,关闭窗体。编写一个宏组完成上述两个命令按钮的功能。(要求编写一个宏组完成上述两个命令按钮的功能。(要求仿照图仿照图7-8形式书写,在注释栏目列出主要宏的主要设形式书写,在注释栏目列出主要宏的主要设置)以及引用方式。置)以及引用方式。