您好,欢迎访问三七文档
第7章宏【本章要点】数据库的每个对象通常完成某个特定的任务,要想使不同的对象相互配合工作,需要把对象有机地组合起来,利用宏就能实现这个任务。由于宏并不要求掌握程序设计,也不必记忆复杂的语法,只需将要执行的操作、参数和条件直接输入到宏的设计窗口,利用宏就可设计一个功能基本完善的数据库应用系统。要求考生理解什么是宏和宏组,了解一些常用的宏操作,学会创建宏、调试和运行宏,以期使用宏构造数据库应用程序。7.1宏的基本概念我们把能自动执行某种操作的命令统称为“宏”,宏是一个或多个操作的集合,其中每个操作实现特定的功能。例如打开某个窗体或打印某个报表的操作可以称为一个宏。ACCESS为用户提供了53种宏操作,这些操作和菜单操作命令类似,但它们对数据库施加作用的时间有所不同,作用时的条件也有所不同。菜单命令一般用在数据库的设计过程中,而宏命令则用在数据库的执行过程中。菜单命令按照一定的顺序有机地组合在一起,运行时ACCESS就会按照定义的顺序自动运行。在ACCESS中,经常要进行一些重复性的工作,比如打开表或者窗体、运行和打印报表等。我们可以将大量相同的工作创建成为一个宏,在每次执行时运行宏,就可以大大提高工作效率。在许多数据库系统中,可以运用编程来完成一些操作。ACCESS也提供了编程功能,就是VisualBasicforApplication(VBA)编写的模块。但对于一般用户来说,使用宏是一种更简便的方法,它不需要编程,也不需要记住各种语法,只要将所执行的操作、参数和运行的条件输入到宏窗口中即可。7.1.1宏的功能在Access中,宏的功能非常强大,主要功能如下:可以替代用户执行重复的任务,节约用户的时间。可以使数据库中的各个对象联系得更加紧密。可以显示警告信息窗口。可以为窗体制作菜单,为菜单指定某些操作。可以把筛选程序加到记录中,提高记录的查找速度。可以实现数据在应用程序之间的传送。7.1.2宏的组成宏以操作为单位,由一连串的操作组成,宏中的操作在运行宏时按由前到后依次进行。每个操作由操作名及参数组成,如图7-1所示。图7-1宏的操作序列设计视图宏中允许的“操作”可以从系统提供的53种操作中进行选择。这些操作的名称都是由系统提供的,用户不能更改。如在图7-1所示的窗口选择了2个“操作”:OpenForm和MsgBox。在“注释”列中,可以填入说明性文字,用来解释说明每个操作的功能。在窗口的下半部分的“操作参数”区,可以在每个操作的“操作参数”列表框中,选择各操作所需的参数。当“操作”列中指定一个操作后,“操作参数”中将显示该操作所需设置的各项操作参数。如图7-1所示的窗口中,在“操作”列中选择了OpenForm后,在宏操作参数设置中,就需要指定打开窗体的名称、视图类型及数据模式等。7.1.3宏的类型Access中的宏可以是包含操作序列的一个宏,也可以是由若干个宏构成的宏组。另外,还可以使用条件表达式来决定在什么情况下运行宏,以及在运行宏时是否进行某项操作。一般情况下,可以将宏分为3类。1.操作序列这是最基本的宏类型,其操作动作的执行是按宏命令的排列顺序依次完成的,如上图7-1所示。2.宏组宏组是指在同一个宏窗口中包含的一个或多个宏的集合。宏组类似于程序设计中的“主程序”,而宏组中“宏名”列中的宏类似于“子程序”。使用宏组既可以增加控制,又可以减少编制宏的工作量。创建宏组的一般方法和创建宏基本相同,唯独不同的是在宏的设计视图中,添加了“宏名”列,如图7-2所示。3.条件操作宏条件宏就是利用宏的条件表达式来控制宏的流程。在不指定操作条件的情况下,运行一个宏时,Access将顺序执行宏中包含的所有操作。若某一个宏操作的执行是有条件的,即只有当条件为真时才执行,而条件为假时就不执行,可以在该操作的“条件”列中给定一个逻辑表达式,如图7-3所示。当宏执行时,首先判断该操作的执行条件是否成立,若条件为真,则执行该操作;若条件为假,则不执行该操作,转去判定下一个操作。在“条件”列中,指定某个宏操作的执行条件,一般可以利用“表达式生成器”设定操作的执行条件。在输入表达式的过程中,经常要引用某个控制的值,表达式中的控制必须符合以下格式:Forms![窗体名]![控件名]或Reports![报表名]![控件名]注意:在“条件”列中不可输入非逻辑表达式,如算术表达式、SQL语句等都是不可被接受的。7.2宏的基本操作在ACCESS中使用宏,用户不需要编写代码,只需要在表格中选择有关的内容,填写需要进行的宏操作,并对宏进行相应的设置。这和传统意义的程序设计有很大的区别。7.2.1创建宏创建宏的操作步骤如下:(1)在“数据库”窗口中,单击“对象”下的“宏”按钮。(2)单击“数据库”窗口工具栏上的“新建”按钮。(3)单击“操作”字段的第一个单元格,然后再单击箭头以显示操作列表。(4)选择要使用的操作。(5)键入操作的说明。说明是不必选项的,但可以使宏更易于理解和维护。(6)在窗口的下半部,如果需要,请指定操作的参数。如果在一个宏内添加更多的操作,请移动到另一个操作行,并重复执行第(3)~(6)步。ACCESS将按照操作列表上的顺序执行操作。下面用宏来实现打开窗体的功能。选取“对象”下的“宏”按钮,单击“新建”按钮,出现宏的设计窗口,如图7-4所示。图7-4宏设计器视图单击“操作”字段的第一个单元格右边的箭头,在里面选择OpenForm(打开窗口)操作,如图7-5所示。在“操作参数”中,单击“窗体名称”,选择制作好的“教师”窗体,如图7-6所示。其它操作参数使用默认值,具体内容见后述章节。图7-5设置宏操作图7-6设置宏操作参数最后,单击“保存”按钮,并为宏命名即可。7.2.2创建宏组宏组就是在同一个宏窗口中包含多个宏的集合。如果要在一个位置上将几个相关的宏构成组,而又不希望单独运行,则可以将它们组织起来构成一个宏组。宏组中的每个宏单独运行,互相没有关联。在多数数据库,用到的宏比较多,将相关的宏分组到不同宏组有助于方便地对数据库进行管理。在宏组中,为了方便调用,每个宏需要有一个名称。宏的设计窗口中,宏名列的默认状态是关闭的,在创建宏组过程中需要先将宏名列打开,然后将每个宏的名字加入到它的第一项操作左边的宏名列中,每一个宏名代表一人宏。一个宏组可能有多个操作,因此,在宏组的窗口里,同一宏组的所有操作的宏名列中,只能在第一项操作左边的宏名列中填入宏名,其他均为空白。要创建宏组,可以按照如下步骤进行:(1)在“数据库”窗口中,单击“对象”下的“宏”按钮。(2)单击“数据库”窗口工具栏上的“新建”按钮。(3)单击状态栏中的“宏名”按钮,在宏设计窗口中出现“宏名”列。(4)在“宏名”栏内,键入宏组中的第一个宏的名字。(5)添加需要宏执行的操作。在一个宏中可以包含一个或者多个操作。(6)如果希望在宏组内包含其他的宏,请重复第(4)~(5)步。在创建宏组以后,如果需要引用宏组中的宏,可以使用如下的语法格式:宏组名.宏名。下面建立一个宏组:选取“对象”下的“宏”按钮,单击“新建”按钮,出现宏的设计窗口,单击状态栏中的“宏名”按钮,如图7-7所示。图7-7显示宏名列的宏设计器视图在“宏名”栏中添加第一个宏的名称,并选择这个宏的操作,如图7-8所示。图7-8设置宏操作及操作参数然后,再添加宏组中的其他宏,如图7-9所示。图7-9设计完成的宏组最后,将建立好的宏组命名,保存即可。这个宏组包括了三个独立的宏,打开窗体、打开报表、打开表,而第二个宏包括两个操作,宏操作的作用以及操作参数详见下节内容。7.2.3运行宏1.直接运行宏如果要直接运行宏,请进行下列操作之一:从“宏”窗口中运行宏,单击工具栏上的“运行”按钮。从“数据库”窗口中运行宏,单击“宏”,然后双击相应的宏名。在MicrosoftAccess的其他地方运行宏,指向“工具”菜单上的“宏”,单击“执行宏”命令,然后在“宏名”框中选择相应的宏。通常情况下直接运行宏只是进行测试。可以在确保宏的设计无误之后,将宏附加到窗体、报表或控件中,以便对事件做出响应,也可以创建一个运行宏的自定义菜单命令。2.运行宏组中的宏将鼠标指向“工具”菜单中的“宏”,单击“执行宏”命令,然后选定“宏名”列表中的宏,当宏名出现在列表中时,MicrosoftAccess将包含每个宏组中的所有宏。3.窗体、报表和控件的事件中运行宏Access可以对窗体、报表或控件中的多种类型事件做出响应,包括鼠标单击或双击数据更改以及窗体或报表的打开或关闭等。下面制作一个窗体,上面有“保存”和“删除”两个按钮。单击“保存”按钮,显示“Welcome”对话框。单击“删除”按钮,显示“警告”对话框。步骤如下:(1)建立“Save”和“Delete”宏,如图7-10和7-11所示。图7-10新建“Save”宏图7-11新建“Delete”宏(2)用“设计视图”新建一个窗体,添加“保存”和“删除”按钮,如图7-12所示。图7-12新建窗体(3)打开相应控件的属性表,选择其中的“事件”选项卡,在“单击”事件属性的下拉列表中选择相应的宏,如图7-13所示。图7-13选择相应的宏(4)这样窗体创建完成,若单击“保存”按钮,Access就会自动运行名为“保存”的宏,即弹出“Hi”窗口,如图7-14所示。图7-14窗体运行效果4.打开数据库时自动运行宏使用一个名AutoExec的特殊宏,可以在首次打开数据库时执行一个或一系列的操作。在打开数据库时,Access将查找一个名为AutoExec的宏,如果找到,就自动运行它。制作宏AutoExec只需要进行如下操作即可:(1)创建一个宏,其中包含在打开数据库时要运行的操作。(2)以AutoExec为宏名保存该宏。下一次打开数据库时,Access将自动运行该宏。如果不想在打开数据库时运行AutoExec宏,可在打开数据库时按Shift键。7.2.4在宏中使用条件在某些情况下,可能希望当一些特定条件为真时才在宏中执行一个或多个操作。例如,如果在某个窗体中使用宏来校验数据,可能需要显示相应的信息来响应记录的某些输入值,需要另一信息来响应另一些不同的值。在这种情况下,可以使用条件来控制宏的流程。条件是逻辑表达式。宏将根据条件结果的真或假而沿着不同听路径执行。运行该宏时,Access将求出第一个条件表达式的结果。如果这个条件的结果为真,Access将执行此行所设置的操作,以及紧接着此操作且在“条件”栏内有省略(…)的所有操作。如果这个条件的结果为假,Access会忽略这个操作以及紧接着此操作且在“条件”字段内有省略号(…)的操作,并且移到下一个包含其他条件或“空条件”字段的操作。在此试做一个宏,使之判定输入数据的正负。(1)首先建立一个如图7-15所示的窗体。图7-15判定数的正负窗体(2)单击“确定”按钮的属性的事件选项卡,单击右边的“生成器”按钮,选择建立宏,并为宏起一个宏名,如“数的正负”,如图7-16所示。图7-16建立宏(3)单击“确定”按钮后,Access会根据文本框中的不同数据给出不同听提示信息,例如输入数字“12”时,会出现如图7-17所示的提示信息框。图7-17判定结果提示信息框7.2.5设置宏操作参数大部分宏操作都有具体的操作参数,告诉Access具体如何执行该操作。某些参数是必需的,另外一些是可选的。在宏中设置操作参数,应先在操作列表中选择宏操作,在如图7-18所示的窗格中会出现该宏操作参数的画面。左边进行参数设置。单击操作参数行,右边显示简明的提示信息,按F1键会出现帮助窗口,其中显示正在处理的参数类型的详细信息。图7-18宏的参数设置操作参数的设置方式一般有三种:(1)单击操作参数行,可以直接输入参数。(2)单击操作参数行,右端出现下三角按钮,单击该按钮,然后从列表中选择参数。(3)单击操作参数行,右端出现省略号按钮,出现单独的设置窗口,对参数进行设置。下面以OpenReport为例,讲解宏的参数设置(如图7-18所示)。(1)单击“报表名称”栏中的下三角按钮,出现下拉列表,如图7-19所
本文标题:第7章宏
链接地址:https://www.777doc.com/doc-2198355 .html