宏和模块的应用_第1页
宏和模块的应用_第2页
宏和模块的应用_第3页
宏和模块的应用_第4页
宏和模块的应用_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宏和模块的应用第一页,共三十四页,2022年,8月28日

宏和模块都是开发数据库系统重要的对象,通过宏和模块,可以实现众多数据库系统的自动化处理和交互功能。本章将详细介绍宏和模块的应用。宏与宏组的定义宏的条件操作宏与宏组的创建模块的概述模块的创建模块的应用

第二页,共三十四页,2022年,8月28日7.1宏与宏组

宏是由一些操作组成的集合,创建这些操作可帮助用户自动完成常规任务。共同存储在一个宏名下的相关宏的集合,称为宏组,它通常只作为一个宏引用。通过使用宏组,用户可以同时执行多个任务。本节将详细介绍宏与宏组的应用。7.1.1宏的定义宏是由一个或多个操作组成的集合,其中每个操作都实现特定的功能,例如打开某个窗体或打印某个报表,因此利用宏,可以自动完成一些常规任务。例如执行一个宏,用于在用户单击某个命令按钮时退出数据库系统,如图所示。第三页,共三十四页,2022年,8月28日7.1宏与宏组7.1.2宏组的定义

宏可以是由一系列操作组成的一个宏,也可以是一个宏组。如图1所示的宏是由一系列操作组成的,当每次运行该宏时,Access都将执行这些操作。

如果宏组中包含很多宏,那么可以将相关的宏分到不同的宏组中,以便对数据库的宏进行管理(关于管理宏组的具体操作,请参考本章小节的介绍)。

在如图2所示的宏组中,可以将宏组分成“系统”、“窗体”和“辅助功能”3个宏,其中“系统”宏执行“Quit”操作;“辅助功能”宏执行“Maximize”操作,而“窗体”宏则同时执行“Close”、“OpenReport”、“OpenForm”3个操作。12第四页,共三十四页,2022年,8月28日7.1宏与宏组7.1.3宏的条件操作在某些特殊应用下,需要为宏添加特定的条件,当条件成立时才执行宏中的一个或一系列操作。例如使用宏来验证某个窗体的数据,当用户输入一个特定值后,宏就自动显示一条信息以作响应,当用户输入非特定的值后,宏就自动显示另一条信息以作响应,在这种情况下,即可为宏添加条件,以执行满足上述条件的宏的操作,控制宏的流程。1.条件操作的流程条件是一个计算结果为“True/False”或“是/否”的逻辑表达式,宏将根据条件结果的真或假进行所设置的操作。运行宏时,Access将求出第一个条件表达式的结果。如果结果为真,Access就会执行此行所设置的操作,以及紧接着此操作、且在“条件”列内前加省略号的所有操作。然后,再执行宏中所有其他“条件”列为空的操作,直到到达另一个表达式、宏名或宏的结尾为止。第五页,共三十四页,2022年,8月28日7.1宏与宏组

如果条件的结果为假,Access则会忽略相应的操作以及紧接着此操作、且在【条件】字段内前加省略号的操作,并移到下一个包含其他条件或“条件”列为空的操作行。2.条件操作的示例如图1所示,名称为“显示分页符”的宏只有在“条件”列的表达式为真(计数器文本框的值为10(代表10个记录))时,才运行“SetValue”操作,即显示分页符控件。1第六页,共三十四页,2022年,8月28日7.2 宏与宏组的操作7.2.1通过设计视图创建宏

与创建其他数据库对象相比,宏的创建相对简单得多,用户只需在宏的设计视图窗口上设置操作、注释和操作参数即可。本例将为数据库创建一个宏对象,并设置宏的操作为“OpenForm”,使之运行时可以打开指定的窗体。

通过设计视图创建宏的操作步骤如下。(1)打开光盘中的“”练习文件,然后单击【数据库】窗口的【宏】按钮,切换到【宏】窗格,接着单击【新建】按钮,如图1所示。1

了解宏与宏组后,本节将重点介绍宏与宏组的创建、运行、调试等操作。第七页,共三十四页,2022年,8月28日7.2 宏与宏组的操作(2)打开宏的设计视图窗口后,在【操作】列表框中选择【OpenForm】选项,然后在【注释】行中加入注释,如图1所示。(3)在【操作参数】栏的【窗体名称】列表框中选择【雇员部门】选项,指定操作的对象为【雇员部门】窗体,如图2所示。(4)完成上述设置后,单击窗口右上角的【关闭】按钮,然后在弹出的对话框中单击【是】按钮,并在【另存为】对话框中设置宏的名称为“OpenForm”,最后单击【确定】按钮,如图3、图4所示。1324第八页,共三十四页,2022年,8月28日7.2 宏与宏组的操作7.2.2通过宏生成器创建宏

使用上一小节创建的宏并没有被对象指定为事件过程,即宏还是独立的对象,不会因为其他对象的事件而响应。如果要为对象创建作为其事件的宏,那么可以通过宏生成器来创建。操作过程很简单,用户只需打开对象的【属性】对话框,然后指定事件,并通过宏生成器来创建宏即可。下面将为窗体中的命令按钮对象的【单击】事件创建一个打开窗口的宏。通过宏生成器创建宏的操作步骤如下。1(1)打开光盘中的“..\Example\Ch07\7.2.2.mdb”练习文件,然后单击【数据库】窗口的【窗体】按钮切换到【窗体】窗格,接着打开【雇员】窗体的设计视图,如图1所示。第九页,共三十四页,2022年,8月28日7.2宏与宏组的操作(2)选择窗体上的命名按钮对象,然后单击右键,并从打开的菜单中选择【属性】命令,打开命令按钮的【属性】对话框,如图7-10所示。(3)打开命令按钮的【属性】对话框后,选择【事件】选项卡,然后将光标定位在【单击】文本框内,并单击文本框后的按钮,打开【选择生成器】对话框后,选择【宏生成器】选项,最后单击【确定】按钮,如图2.图3所示。(4)此时将打开【另存为】对话框和宏的设计视图窗口,首先在【另存为】对话框中输入宏的名称,并单击【确定】按钮,如图4所示。1234第十页,共三十四页,2022年,8月28日7.2 宏与宏组的操作

(5)接着在宏的设计视图窗口中设置操作、注释和操作参数,如图1所示。(6)完成宏的设置后,单击窗口右上角的【关闭】按钮,然后在弹出的对话框中单击【是】按钮,保存宏的设计,如图2、图3所示。完成上述处理后,即可创建一个宏,而且这个宏被设置为命令按钮的事件,如图4所示。当打开窗体后,只需单击【打开雇员部门窗体】按钮,即可打开【雇员部门】窗体,如图5所示。12345第十一页,共三十四页,2022年,8月28日(1)打开光盘中的“..\Example\Ch07\7.2.3.mdb”练习文件,然后单击【数据库】窗口的【宏】按钮切换到【宏】窗格,接着单击【新建】按钮,如图1所示。7.2 宏与宏组的操作7.2.3创建与管理宏组宏组是宏的集合,它通常包括多个宏,可以执行多个操作,帮助用户完成不同的任务。当宏组中包含了很多宏时,可以对这些宏进行管理,让每个宏都有对应的名称标识,便于宏的应用。本小节将介绍创建宏组、设置宏名称以及管理宏组的方法。创建与管理宏组的操作步骤如下。1第十二页,共三十四页,2022年,8月28日7.2 宏与宏组的操作(2)打开宏的设计视图窗口后,在【操作】列表框中选择【OpenForm】选项,然后添加注释,并从【窗体名称】列表框中选择【雇员】选项,如图1所示。(3)再次在【操作】列表框中选择【OpenForm】选项,然后添加注释,并从【窗体名称】列表框中选择【雇员部门】选项,如图2所示。(4)在【操作】列表框中选择【OpenReport】选项,然后添加注释,并从【报表名称】列表框中选择【雇员】选项,如图3所示。123第十三页,共三十四页,2022年,8月28日7.2 宏与宏组的操作(5)此时在窗口的标题栏上单击右键,并从打开的菜单中选择【宏名】命令,打开【宏名】列,如图1所示。(6)在【宏名】列的第1行输入宏名为“窗体”,然后在【宏名】列的第4行输入宏名为“报表”,如图2所示。(7)完成上述设置后,单击窗口右上角的【关闭】按钮,然后在弹出的对话框中单击【是】按钮,并在【另存为】对话框中设置宏的名称为“OpenObject”,最后单击【确定】按钮,如图3、图4所示。1234第十四页,共三十四页,2022年,8月28日

(1)打开光盘中的“..\Example\Ch07\7.2.4.mdb”练习文件,然后单击【数据库】窗口的【窗体】按钮切换到【窗体】窗格,接着打开【雇员】窗体的设计视图。(2)在窗体的标题栏上单击右键,并从打开的菜单中选择【属性】命令,打开窗体的【属性】对话框,如图1所示。7.2 宏与宏组的操作7.2.4创建包含条件的宏为宏添加特定的条件,可以让宏在满足条件时才执行宏中的一个或一系列操作。本例将为窗体的【打开】事件创建一个包含条件的宏,让宏在窗体的【薪金】字段没有数据时,打开提示对话框,并显示“雇员薪金保密!”信息。创建包含条件的宏的操作步骤如下。1第十五页,共三十四页,2022年,8月28日(3)打开对话框后,选择【事件】选项卡,然后将光标定位在【打开】文本框上,并单击文本框后面的按钮,打开【选择生成器】对话框后,选择【宏生成器】选项,最后单击【确定】按钮,如图1、图2所示。(4)打开【另存为】对话框后,设置宏的名称为“MsgBox”,然后单击【确定】按钮,创建一个宏,如图3所示。(5)打开宏的设计视图窗口后,分别设置宏的操作、注释、操作参数,结果如图4所示。7.2 宏与宏组的操作1234第十六页,共三十四页,2022年,8月28日(6)完成上述设置后,单击窗口右上角的【关闭】按钮,然后在弹出的对话框中单击【是】按钮,保存宏的设计,如图1所示。(7)此时返回窗体的设计视图,然后单击窗口右上角的【关闭】按钮,并在弹出的对话框中单击【是】按钮,保存窗体的设计,如图2所示。(8)返回【数据库】窗口后,双击【雇员】项目,打开【雇员】窗体,此时将运行宏,即打开信息提示框,并显示“雇员薪金保密!”信息,如图3所示。7.2 宏与宏组的操作123第十七页,共三十四页,2022年,8月28日1.运行宏运行宏有以下方法:(1)若要从【宏】窗口中执行宏,可以单击工具栏上的【运行】按钮,如图1所示。(2)若要从【数据库】窗口中运行宏,可以先选择宏对象,然后单击【运行】按钮,或者双击相应的宏对象,如图2所示。(3)若要通过菜单运行宏,可以选择【工具】→【宏】→【运行宏】命令,然后在【执行宏】对话框的【宏名】列表中选择宏,并单击【确定】按钮即可,如图3所示。7.2.5宏的运行

在Access2003中,用户可以直接运行某个宏,也可以运行宏组中的宏、另一个宏或事件过程中的宏,还可以为响应窗体、报表上或窗体、报表的控件上所发生的事件而运行宏。7.2 宏与宏组的操作123第十八页,共三十四页,2022年,8月28日2.运行宏组中的宏运行宏组的宏有以下方法:(1)将宏指定为窗体或报表的事件属性时,使用以下语法来运行宏组的宏:宏组名.宏名。例如,如果宏组“OpenObject”中有一个宏的名称为“报表”(如图1所示),则为事件属性设置以下的语法,即可运行“报表”宏:OpenObject.报表,如图2所示。(2)若要通过菜单运行宏组的宏,可以选择【工具】→【宏】→【运行宏】命令,然后在【执行宏】对话框的【宏名】文本框中输入以“宏组名.宏名”为格式的宏代码,即可运行该宏,如图3所示。7.2 宏与宏组的操作123第十九页,共三十四页,2022年,8月28日

模块基本上是由声明、语句和过程组成的集合,它们作为一个已命名的单元存储在一起,对MicrosoftVisualBasic代码进行组织。本节将对模块进行详细的介绍。7.3 模块的概述17.3.1模块的类型

Access有“标准模块”和“类模块”两种类型的模块,它们的说明如下。1.标准模块标准模块包含与任何其他对象都无关的常规过程,以及可以从数据库任何位置运行的、经常使用的过程。标准模块和与某个特定对象无关的类模块的主要区别在于其范围和生命周期,在没有相关对象的类模块中,声明或存在的任何变量或常量的值都仅在该代码运行时、仅在该对象中可用。在标准模块中,可以放置希望供整个数据库的其他过程使用的Sub和Function过程,如图1所示。第二十页,共三十四页,2022年,8月28日7.3 模块的概述12.类模块

该模块可以包含新对象的定义的模块,一个类的每个实例都新建一个对象,而且在模块中定义的过程将成为该对象的属性和方法。另外,类模块可以单独存在,也可以与窗体和报表一起存在,其中窗体模块包含了在指定的窗体或控件上,事件发生时所触发的所有事件过程的代码;而报表模块则包含了由在指定的报表或控件上,事件发生时所触发的所有事件过程的代码。

窗体模块和报表模块通常都含有事件过程,事件过程的运行用于响应窗体或报表上的事件,用户可以使用事件过程来控制窗体或报表的行为,以及它们对用户操作的响应,如打开窗体,如图1所示。第二十一页,共三十四页,2022年,8月28日7.3.2模块的过程

过程是由MicrosoftVisualBasic代码组成的单元,它包含一系列执行操作或计算值的语句和方法。例如下列代码表示的事件过程即使用“OpenForm”方法打开【登录】窗体:

PrivateSubOpenOrders_Click()DoCmd.OpenForm"登录“

EndSub

在Access2003中,模块的过程分为“Sub过程”和“Function过程”两种类型,它们的说明如下:7.3 模块的概述11.Sub过程

Sub过程是用于执行操作的过程。与Function过程不同,Sub过程不返回值,并使用Sub语句开始Sub过程,使用EndSub语句结束过程,如图1所示。第二十二页,共三十四页,2022年,8月28日

数据库中每个窗体和报表都有内置的窗体模块(该模块包含了在指定的窗体或其控件上事件发生时所触发的所有事件过程的代码)或报表模块(该模块包含了由在指定报表或其控件上发生的事件所触发的所有事件过程的代码),这些模块是包含事件过程模板。用户可以向其中添加代码,使得当窗体、报表或其上的控件发生相应的事件时,运行这些代码。2.Function过程

Function过程是返回一个值并可用于表达式的过程。用Function语句可声明一个函数,并用EndFunction语句结束该函数。因为函数有返回值,所以可以在表达式中使用。以下是Function过程的一个示例,FirstOfNextMonth函数返回下个月第一天的日期:

FunctionFirstOfNextMonth()FirstOfNextMonth=_DateSerial(Year(Now),Month(Now)+1,1)EndFunction

7.3 模块的概述第二十三页,共三十四页,2022年,8月28日

这个自定义函数包含一个赋值语句,将表达式的结果(位于等号右侧)赋予函数名FirstOfNextMonth(位于等号左侧)。该函数使用了内置的VisualBasic函数DateSerial、Year、Now和Month来计算结果,如图1所示。7.3 模块的概述1第二十四页,共三十四页,2022年,8月28日

在Access2003中,创建模块需要通过MicrosoftVisualBasic编辑器编写代码来实现。本节将详细介绍创建模块的方法,以及相关模块的应用。7.4 模块的创建

17.4.1创建模块的方法想要创建模块,可以先打开数据库文件,然后在【数据库】窗口中单击【模块】按钮,切换到【模块】窗格,接着单击【新建】按钮。此时系统将打开MicrosoftVisualBasic编辑器,用户可以在打开的模块代码窗口中编写模块的代码,如图1所示。第二十五页,共三十四页,2022年,8月28日7.4 模块的创建

12

本例将介绍为数据库创建一个名为“OpenForm”的模块,并通过MicrosoftVisualBasic编辑器添加模块代码,使该模块可以打开【雇员部门】窗体。创建打开窗体模块的操作步骤如下。(1)打开光盘中的“..\Example\Ch07\7.4.2.mdb”练习文件,然后在【数据库】窗口中单击【模块】按钮,切换到【模块】窗格,再单击【新建】按钮,新建模块,如图1所示。(2)打开MicrosoftVisualBasic编辑器后,在代码窗口中输入模块的代码,如图2所示。7.4.2创建打开窗体模块第二十六页,共三十四页,2022年,8月28日7.4 模块的创建

123(3)此时单击工具栏的【保存】按钮,打开【另存为】对话框后,输入模块的名称,然后单击【确定】按钮,如图1所示。(4)选择【文件】→【关闭并返回到MicrosoftOfficeAccess】命令,关闭MicrosoftVisualBasic编辑器并返回Access程序,此时可以发现【数据库】窗口中已经创建了一个模块对象,如图2所示。(5)当需要测试模块的效果时,可以双击打开模块对象,然后在MicrosoftVisualBasic编辑器中单击【运行子过程/用户窗体】按钮运行模块,如图3所示。运行模块的结果将打开【雇员部门】窗体。第二十七页,共三十四页,2022年,8月28日7.5 职业上机实战—

编辑费用记录数据库1

本章针对数据库的宏和模块进行了详细的介绍,为了让读者更深刻地掌握宏和模块的应用,本节将通过一个例子,综合介绍利用宏和模块设计数据库系统的方法。为费用记录数据库添加宏和模块的操作步骤如下。

(1)打开光盘中的“..\Example\Ch07\7.5.mdb”练习文件,然后关闭数据库的启动窗体,并打开【按职员分类的费用报表】窗体的设计视图,如图1所示。第二十八页,共三十四页,2022年,8月28日7.5 职业上机实战—

编辑费用记录数据库123(2)选择窗体中的【费用报表】按钮,然后在按钮上单击右键,并从打开的菜单中选择【属性】命令,如图1所示。(3)打开对话框后选择【事件】选项卡,然后将光标定位在【单击】文本框上,再单击文本框后面的按钮,打开【选择生成器】对话框后,选择【代码生成器】选项,最后单击【确定】按钮,如图2、图3所示。第二十九页,共三十四页,2022年,8月28日(4)打开MicrosoftVisualBasic编辑器后,在代码窗口中输入以下代码,使得用户单击【费用报表】按钮后即打开【费用报表】窗体,如图1所示。

OnErrorGoToErr_ExpenseReport_ClickIfIsNull(Me![EmployeeID])ThenMsgBox"进入费用报表前输入职员。"ElseDoCmd.DoMenuItemacFormBar,acRecordsMenu,acSaveRecord,,acMenuVer70DoCmd.OpenForm"费用报表"EndIfExit_ExpenseReport_Click:ExitSubErr_ExpenseReport_Click:MsgBoxErr.DescriptionResumeExit_ExpenseReport_Click7.5 职业上机实战—

编辑费用记录数据库1第三十页,共三十四页,2022年,8月28日(5)输入代码后,单击工具栏上的【保存】按钮保存设置,然后选择【文件】→【关闭并返回到MicrosoftOfficeAccess】命令,返回Access中,如图1所示。(6)返回【数据库】窗口后,切换到【宏】窗格,然后单击【新建】按钮,打开宏的设计视图窗口后,设置如图2所示的宏内容。7.5 职业上机实战—

编辑费用记录数据库12第三十一页,共三十四页,2022年,8月28日(7)此时单击窗口右上角的【关闭】按钮,并在弹出的对话框中单击【是】按钮,然后设置宏的名称为“MsgBox”,最后保存起来,如图1、图2所示。(8)再次打开【按职员分类的费用报表】窗体的设计视图,然后打开窗体的【属性】对话框,并选择【事件】选项卡,接着为“打开”事件应用“MsgBox

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论