《Access2003:8宏对象的其他应用.ppt》由会员分享,可在线阅读,更多相关《Access2003:8宏对象的其他应用.ppt(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、8.6 8.6 宏对象的其他应用宏对象的其他应用 8.6.18.6.1利用宏生成利用宏生成VBAVBA程序代码程序代码 8.6.28.6.2启动时自动运行的宏启动时自动运行的宏AutoExecAutoExec 8.6.38.6.3响应组合键的宏组响应组合键的宏组AutoKeysAutoKeys 返回 由于宏的设计过程是一个人机对话的过程,它不要求设计者刻意地记忆命令、参数及其相关语法,因此是一种非常方便的编程工具。实际上,宏本身就是程序,只不过是一种控制方式简单的程序而已。它由若干操作组成,一般情况下采用顺序执行的方式运行,也可以通过设置操作执行的条件来实现操作执行顺序的跳转。自然会考虑能否利
2、用宏设计视图以人机对话的方式设计宏,然后将其转换为对应的VBA程序.8.6.1 8.6.1 利用宏生成利用宏生成VBAVBA程序代码程序代码 首先首先,在数据库设计视图宏对象选项卡上选中需要转换为VBA程序的宏对象,然后在窗口菜单栏上依次单击【工具】|【宏】|【将宏转换为Visual Basic代码】命令,随即弹出“转换宏”对话框,单击其上的“转换”按钮“”,即完成了将宏转换为VBA程序的过程。例如,例如,可以将“零售商店管理信息系统”数据库中的宏“销售记录”转换为对应的VBA程序。其操作过程为:在数据库设计视图宏对象选项卡上选中宏“销售记录”,在窗口菜单栏上依次单击【工具】|【宏】|【将宏转
3、换为Visual Basic代码】命令,随即弹出的“转换宏”对话框如图8-15所示。根据需要在这个对话框中完成两个选项的选定操作后,单击“转换”按钮“”,即可将宏对象“销售记录”转换成为一个名为“被转换的宏销售记录”的模块对象,其间包含着与宏“销售记录”的功能完全相同功能的VBA程序代码。图图8-15 “8-15 “转换宏转换宏”对话框对话框 在“转换宏”对话框中有两个选项,选中后依次表示:转换形成的VBA程序中包含进行出错处理的On Error子程序段;转换形成的VBA程序中包含关于宏对象的注释。此处,让我们来看看转换成的VBA程序代码,其间包含出错处理程序段和宏注释。-销售记录_销售记录-
4、Function 销售记录_销售记录()On Error GoTo 销售记录_销售记录_Err 打开“销售数据录入”窗体 DoCmd.OpenForm 销售数据录入,acNormal,acNormal If(Weekday(Date,2)=7)Then 若逢周日,给出提示 Beep MsgBox 今天周日,客流量较大,辛苦了!,vbOKOnly,注意:End If销售记录_销售记录_Exit:Exit Function销售记录_销售记录_Err:MsgBox Error$Resume 销售记录_销售记录_ExitEnd Function注意,由宏转换成的VBA程序段是一个VBA函数“Funct
5、ion”,其调用方式不同于VBA子程序“Private Sub”。如果在一个Access数据库中创建一个命名为“AutoExec”的宏对象,将得到这样一种效果:一旦这个数据库被打开,AutoExec宏对象中的第一个宏将得到执行。这是因为,只要Access得到打开一个数据库的操作指令,它将在打开这个数据库后立即去寻找其中是否存在一个命名为“AutoExec”的宏对象,如果找到,则运行它。8.6.2 8.6.2 启动时自动运行的宏启动时自动运行的宏AutoExecAutoExec 合理地使用这个命名为AutoExec的特殊宏,可在首次打开数据库时执行一个或一系列的操作,包括某些应用系统初始参量的设
6、定、打开应用系统操作主窗口等等。在实例“零售商店管理信息系统”数据库中,设计有一个名为“AutoExec”的宏对象,其间包含一个操作:OpenForm 零 售 商 店 管 理 信 息 系 统,acNormal,acNormal 这就使得当打开“零售商店管理信息系统”数据库时,即会自动打开数据库窗体“零售商店管理信息系统”,而这个窗体是整个数据库应用系统的主控窗体。对于一个可以发布的数据库应用系统,这一项功能是非常必要的。对于一个包含“AutoExec”宏的Access数据库,如果想在打开数据库时阻止自动运行“AutoExec”宏,可在打开数据库时按住SHIFT键不放开,以此来阻止Access自
7、动运行“AutoExec”宏。除了可以利用“AutoExec”宏实现打开数据库时自动运行一个应用程序以外,Access还提供另外一种实施方案:通过设置数据库设计视图窗口菜单栏上的【工具】|【启动】命令,在随即弹出的“启动”对话框中进行合适的选项设置,也可以控制如何启动数据库或应用程序。“启动”对话框如图8-16所示,其中,我们设置启动显示窗体为“零售商店管理信息系统”。图图8-16 8-16 用于设置启动程序的用于设置启动程序的“启动启动”对话对话框框 在一般Windows应用程序中,为了使用剪贴板进行对象的复制粘贴操作,除了可以利用菜单选项或工具按钮实现以外,可能很多人都知道“C”是复制操作
8、的组合式快捷键、“V”是粘贴操作的组合式快捷键,且非常习惯于使用它们。那么,在一个Access数据库应用系统中,是否也可能出现对这种组合式快捷键的应用需求呢?如果确实有这样的需求,又该如何满足它呢?8.6.3 8.6.3 响应组合键的宏组响应组合键的宏组AutoKeysAutoKeys 为了满足这种对于组合式快捷键的应用需求,Access提供了另一个特殊的宏对象名“AutoKeys”。在命名为“AutoKeys”的宏对象中,我们可以采用宏组的形式定义某些组合键按下后应该进行的操作,从而为Access数据库应用系统提供一整套组合式快捷键功能。例如例如:在实例“零售商店管理信息系统”数据库中,设计
9、有一个名为“AutoKeys”的宏对象,其间包含五个宏,每个宏包含一个“RunMacro”操作,分别定义了:“g”组合键执行宏“柜存信息”,“j”组合键执行宏“进货数据”,“k”组合键执行宏“库存数据”,“s”组合键执行宏“上柜数据”,“x”组合键执行宏“销售数据”。在这个宏对象的支持下,按下上述任一组合键即可运行相应的宏,而这些宏又都分别包含打开某一个窗体对象的操作,因此使得打开相应窗体对象的操作可以采用上述快捷键的方式进行,从而方便了操作者的操作过程。实例实例“零售商店管理信息系统零售商店管理信息系统”数据库中的数据库中的宏对象宏对象“AutoKeysAutoKeys”设计视图及其对应操作参设计视图及其对应操作参数设置如图数设置如图8-178-17所示。所示。图图8-17 “8-17 “AutoKeysAutoKeys”设计视图及其对应设计视图及其对应操作参数设置操作参数设置 注意注意:Access本身已经具有一些默认的组合式快捷键功能,如果利用AutoKeys宏对象定义的组合式快捷键与某一些Access默认的组合式快捷键功能冲突,则利用AutoKeys宏对象定义的组合式快捷键功能有效,而那些Access默认的组合式快捷键功能无效。
限制150内