8.2 宏对象概述
8.2.1 宏对象的作用
8.2.2 将宏对象转换为 VBA程序模块
返回
由于宏对象实际上是一个容器对象, 其间包含着
一个操作序列以及操作参数和操作执行的条件,
因此, 可以使用宏来作为处理某一事件的方法 。
例如在, 零售商店管理系统, 中的, 销售
数据录入, 窗体底部, 我们设置了一个命令按
钮, 柜存信息,, 其响应单击事件的方法即为
一个名为, 柜存信息, 的宏对象 。
总之,宏对象的作用就是为某一些简单的事件
响应提供事件处理方法。
8.2.1 宏对象的作用
多数对象的事件处理方法都是采用 VBA编
程实现的 。 那么, 在 Access数据库应用系统中,
在什么样的情况下应该使用宏对象来提供处理
事件的方法, 在什么样的情况下应该使用 VBA
程序来提供处理事件的方法呢?
这应该取决于需要完成的任务的复杂程度。
一般而言,对于较简单的事件处理方法,可以
采用设计相应的宏对象来提供处理事件的方法。
由于宏对象的设计是在宏对象设计视图中通过
人机对话方式完成的,因此操作方便,且容易
学习。
另外, 宏对象独立于窗体对象, 查询
对象等能够感受事件的 Access对象, 如
此, 只要宏对象设计完美, 其操作代码
的公用性可能会很好 。
最后,宏对象还有一种不可替代的
功能:启动 Access数据库时自动运行,
响应某些组合式功能键,等等。
宏是用来自动完成特定任务的操作或操作集,
即一个或多个操作的集合,其中每个操作执行
特定的功能。用户可以通过创建宏对象来自动
执行一项重复的或者较为繁杂的操作,从而完
成一个指定的任务。通过宏的自动执行重复任
务的功能,可以保证工作的一致性,还可以避
免由于忘记某一操作步骤而引起的错误。但是,
宏对象的执行效率较低,Microsoft建议将宏对
象转换为 VBA程序模块,以提高代码的执行效
率。
8.2.2 将宏对象转换为 VBA程序模块
在 Microsoft Access中, 我们可以利用数据
库设计视图菜单栏上的文件另存为功能,
将指定的宏对象转换为 VBA程序模块 。
其操作过程为:
选定欲转换的宏对象,在窗口菜单上单
击【文件】 |【另存为】,在随即弹出的
“另存为”对话框中,为 VBA模块命名
并指定保存类型为“模块”,即可将指
定的宏对象转换为对象功能的 VBA模块
对象。
下面以, 电脑耗材商品进销存管理系统, 中
的示例, 宏 1” 为例, 介绍这个操作过程 。
在“零售商店管理系统”数据库设计
视图的宏对象卡上选中“宏 1”对象,在
窗口菜单上单击【文件】 |【另存为】即出
现如图 8-1所示的“另存为”对话框,将
VBA模块命名为“宏 1转换成的 VBA模
块”,再将保存类型定义为“模块”,单
击对话框上的确定按钮,”。即
完成了将宏对象转换为 VBA程序模块的操
作。
图 8-1,宏 1”的设计参数示意
图 8-2 将宏对象转换为 VBA程序模块的操作对话框
应该比较一下两个具有同一功能的不同对象,
VBA模块对象, 宏 1转换成的 VBA模块, 的程序
代码如下:
Option Compare Database
'------------------------------------------------------------
' 宏 1
'------------------------------------------------------------
Function 宏 1()
On Error GoTo 宏 1_Err
DoCmd.OpenForm " 商品进货数据录入 ",
acNormal,"","",,acNormal
Beep
DoCmd.FindRecord "2102",acEntire,False,,
False,,True
宏 1_Exit:
Exit Function
宏 1_Err:
MsgBox Error$
Resume 宏 1_Exit
End Function
宏对象“宏 1”的设计参数如图 8-1所示,从中
可以理解宏对象中各项操作及其参数设置的含
义。