
计算机二级access辅导讲义Ch课件.ppt
32页计算机二级access讲义Ch2 2第9章 创建宏 9.1 宏的概述9.2 宏的设计 9.2.1 宏的设计方法9.2.2 设计基本的宏9.2.3 设计条件宏9.2.4 设计宏组9.2.5 特殊的宏9.3 宏的运行3 39.1 宏的概述n 宏是可以执行特定任务的一个或多个操作的集合,其中的每个操作都是Access定义好的、能够完成某种特定的功能n 执行宏时,系统会自动执行在宏中指定的一组操作n Access 提供了56种基本的宏操作,用户可以根据应用的需要,从中选择若干宏操作构成一个宏服务器讲义)n 宏可以在打开数据库时自动执行,也可以在触发窗体、报表或控件的某个事件时执行,还可以从其他宏或事件过程中执行 4 49.2.1 宏的设计方法设计宏的一般过程:(1)在数据库窗口中选择 “宏”对象,单击“新建”按钮,打开宏的设计视图2)在“操作”栏中选择需要的宏操作,在“操作参数”栏中设置合适的参数3)创建条件宏,执行“视图|条件”命令,在“条件”栏中输入表达式n 在条件表达式中引用窗体或报表上的控件值,使用的语法:n Forms![<窗体名>]![<控件名>] n Reports![<报表名>]创建宏组,执行“视图|宏名”命令,在“宏名”栏中输入宏名。
5)在“注释”栏中输入操作的说明,使宏更易于理解和维护6)选择“文件|保存”命令,保存宏对象5 5范例教学管理6 69.2.2 设计基本的宏 基本的宏是由一个或多个操作组成的宏例9.1】设计一个基本的宏,执行宏时先打开一个窗体,然后显示一个消息框,最后关闭该窗体n 单击工具栏的“运行”按钮,运行宏,系统自动按顺序执行指定的3个宏操作 7 7操作提示① 打开宏设计视图,在第1行的“操作”单元格中选择OpenForm命令,在“窗体名称”参数框中输入“学生记录”,该操作的含义就是打开“学生记录”窗体② 在第2行的“操作”单元格中选择MsgBox命令,“消息”参数为“关闭窗体”,“类型”参数为“信息”,“标题”参数为“确认”③ 在第3行的“操作”单元格中选择Close命令,表示关闭当前窗体④ 保存宏对象,命名单击工具栏的“运行”按钮,运行宏,系统自动按顺序执行指定的3个宏操作8 89.2.3 设计条件宏在宏中设置条件可以控制宏的执行流程,运行宏时若条件不满足,就不执行某项操作例9.2】设计一个输入密码的窗体,单击“确定”按钮时,若密码正确,就关闭窗体;如果密码不正确,就显示一个消息框,然后关闭窗体。
n 第2个操作没有条件,则无论密码是否正确,都会执行Close操作,关闭窗体n 将宏设置为命令按钮的“单击”事件属性,当单击命令按钮时触发宏 9 9操作提示设计窗体文本框控件的“名称”属性设置为“password”,“输入掩码”属性设置为“密码”(输入数据时会用“*”号占位符替代实际数据)保存窗体,命名为“运行条件宏”1010操作提示设计视图,单击工具栏的“条件”按钮增加“条件”列,设计宏第1个操作的条件: [Forms]![运行条件]![password]<>"mary"[运行条件宏]为设计的窗体的名称,[password]为窗体中文本框控件的名称如果该条件表达式的值为真,即在文本框中输入的密码不等于“mary”,就显示一个消息框第2个操作没有条件,表示无论密码是否正确,都会执行Close操作,关闭窗体保存宏 1111操作提示打开“运行条件宏”窗体的设计视图,选中命令按钮控件,在“属性”窗口中将它的“单击”事件属性设置为“条件宏”,即上一步中设计的宏对象,该设置的作用是,单击命令按钮时触发宏的执行设计完毕1212宏中的操作参数消息发声类型标题1313设计条件宏(续1)修改例9.2,当密码输入正确时,也显示一个相应的消息框,然后再关闭窗体。
n 在宏中增加一个条件 1414插入操作和删除操作插入一个操作:选定操作行,单击工具栏的“插入行”按钮删除一个操作:选定操作行,单击工具栏的“删除行”按钮, 或者按【Del】键调整操作顺序:选定操作行,然后将它移到新的位置1515设计条件宏(续2)进一步改进例9.2,当密码错误时,显示一个提示错误的消息框,确认后就停止操作;当密码正确时,显示一个提示正确的消息框,确认后就关闭密码输入窗体,打开“学生记录”窗体 1616说明第2个操作为StopMacro,其作用是终止当前正在运行的宏(如果后面还有其它的宏操作,也不再执行),该操作的条件用“...”(注意:必须是英文的点号)表示,含义是延续上一个操作的条件,即第2个操作与第1个操作的条件相同 1717设计条件宏(续3)条件宏的执行过程:(1)总体上是按指定的操作顺序执行的2)遇到不带条件的宏操作都会执行3)遇到带条件的操作时,首先判断条件是否满足,若满足就执行该项操作;否则就不执行该项操作并且,条件只对该项操作起作用,不会影响其他宏操作4)遇到终止宏操作的命令时(如StopMacro),无论后面是否还有其它的宏操作,都会结束宏的运行。
18189.2.4 设计宏组n 将多个宏组织起来就得到了宏组n 如果数据库中存在许多宏,可以将相关的宏放在同一组中,这样有助于宏的管理和使用n 宏组中的每个宏都有一个名字,称为“宏名”,通过宏名可以引用宏组中的宏,格式: <宏组名>.<宏名> 宏组是对宏的一种组织方式,宏组本身不可执行,可执行的只是宏组中的各个宏1919设计宏组(续)【例9.3】在例9.2设计的窗体上添加一个“取消”按钮,单击“确定”按钮时,判断密码是否正确;单击“取消”按钮时,关闭窗体 n 将“确定”按钮的“单击”事件属性指定为“宏组.Ok”,将“取消”按钮的“单击”事件属性指定为“宏组.Cancel” 20209.2.5 特殊的宏(了解)1. Autoexec宏n Autoexec宏在打开数据库时立即执行,其设计方法与普通宏的设计方法完全相同,只是宏对象的名称必须为“Autoexec”2. AutoKeys宏组n AutoKeys宏组用于定义数据库快捷键,可以将一个操作或一组操作指派给某个特定的键或组合键,当按下指定的键或组合键时,Access 就会执行相应的操作n AutoKeys宏组的设计方法与普通宏组的设计方法相同,只是宏组的名称必须为“Autokeys”,宏组中的每个宏名就是一个快捷键。
n 定义好AutoKeys宏组后,就可以在数据库的任意位置使用指定的快捷键 21219.3 宏的运行运行宏时,Access从宏的起点启动,顺序执行宏中所有符合条件的操作,直到宏组中的另一个宏或者达到宏的结束点运行宏的方法:(1) 在宏设计视图中单击工具栏“运行”按钮,执行正在设计的宏2) 在数据库窗口中双击相应的宏名执行该宏3) 选择“工具|宏|运行宏”命令在“执行宏”对话框中输入“宏名” 4) 自动执行宏,将宏的名称设为“AutoExec”5) 将宏附加到窗体、报表或控件中,以对事件做出响应,或者创建一个执行宏的自定义菜单命令或工具栏按钮6) 在VBA代码中通过调用DoCmd对象的RunMacro方法执行宏7) 宏的嵌套执行(在一个宏中调用另一个宏)n 在宏中加入RunMacro操作,并将“宏名”参数指定为另一个宏2222范例设计如下窗体,在”学号”文本框输入学号之后,单击查找按钮可以找到指定的学生记录,查找功能用宏实现2323操作提示:1设计一个名为“findstud”的窗体,记录源为“学生”表,如图所示窗体页眉”节中的文本框的名称设为txtNum24242设计一个名为“查找记录”的宏,如图所示。
前两个操作的条件为:IsNull([Forms]![FindStud]![txtNum])25252其含义是:如果“FindStud”窗体上的“txtNum”控件(即名称为txtNum的文本框控件)的值为空,就显示一个消息框,提示用户输入要查找的学号,然后终止宏的运行第三个操作是ApplyFilter(应用筛选),其“Where条件”为:[学生].[学号] Like [Forms]![Findstud]![txtNum]+"*"条件表达式中使用了“*”通配符,表示在查找时可以只输入学号的前几个字符第四个操作是GoToRecord,其“记录”参数为“首记录”,该操作的作用是使筛选结果集中的第一条记录成为当前记录显示在窗体中26263将“findStud”窗体中“查找”按钮的“单击”事件属性指定为“M-findStud”宏2727范例设计如图所示的窗体,单击“查成绩”按钮,即可在另一个窗体中显示当前学生各门选修课程的成绩,查找功能用宏实现 2828操作提示:1设计一个名为“findScore”的窗体,记录源为“学生”表29292设计一个名为“findScore-2”的窗体,记录源为“选课”表..将窗体的“模式”属性设置为“是”,表示调用该窗体后,就不允许在该窗体之外进行其他操作,直到关闭该窗体。
退出”按钮用命令按钮向导生成,单击此按钮可以关闭窗体30303设计一个名为“M-findScore”的宏 31313第1个操作为OpenForm,用于打开“findScore-2”窗体,其“Where条件”为:[选课].[学号]=[Forms]![findScore]![学号]在表达式中,等号左边的[学号]是“选课”表中的字段,等号右边的[学号]是“find- Score”窗体上名称为“学号”的文本框控件设置该条件后,在“findScore-2”窗体中就只显示满足该条件的记录第2个操作为MoveSize,用于设置“findScore-2”窗体出现的位置,本例中将其“右”参数设为16cm,“下”参数设为8cm32324将“findScore”窗体中“查成绩”按钮的“单击”事件属性指定为“M-findScore”宏。












