•P«r«C*l«r«tW44
LtdFwz•0■
PilUeVmktCoMiMihitt«Al
bFnr*^*'IT■tW*••
“」」
ik
.(3)为标准模块“打开窗体”添加函数过程DK
.【操作实例6】调用标准模块中的过程函数右“红色”与“蓝色”、DK
i
操作步骤:
■在设计视图打开窗体“口令验证”,选中【确定】命令按钮,打开其【属性】对话框,选择【事件】标签。
■在【获得焦点】属性框输入:
=红色([确定])。
■在【失去焦点】属性框输入:
=蓝色([确定])O
•在窗体“口令验证”中添加一个【打开窗体】命令按
钮,打开其【属性J对话框,在【单击】《性框输入:
』归纳分析
函数可以返回值,也可以不返回值・定义函数时要注意传递参数的数据类型,例如string字符串类型。
数据库对象在调用函数时要注意名称前要添加西文的“二''号,例如=红色([确定])。
.问题的提出:
每个窗体和报表对象都是一个类模块。
如果希望窗体对象的某个控件能够响应某个事件,例如Click(单击)事件,则要为窗体类模块添加一个事件过程。
-怎样为类模块添加事件过程呢?
【操作实例6】在窗体中添加一个图片控件,为图片控件添加一个Click事件过程,单击图片时图片能向左移动-
操作步骤:
•
(1)添加图片
■
(2)打开代码编轲窗口
复■丄■♦•<•
■"•
■<・i
■13S&i3・Y
M-W.
—•■**Jl-af
修改窗体事件过程代码:
设计视图单击工具栏上的【代码】按钮•在事件过程的代码中调用函数不用“三‘号,直接使用即可.在代码中调用过程需要使用Call命令。
模块的功能很强大,但需要编写程序代码,如果要创建真正强大功能的模块,需要掌握VBA语言。
土&2・4将宏转换为模块
问题的提出:
宏的运行速度没有模块快,但创建宏对象简单,不用编写代码.能不能将创建的宏对象转换为模块以提高宏的运行速度呢?
答是肯定的,转换为模块的宏与原来的宏具有相同的功能,但运行速度更快•怎样将宏对象转换为模块呢?
【操作实例7】
将“执行多个任务的宏”转换为模块。
作步骤:
.在鑿竭库窗口【对象】栏g下【宏】技钮,在对篥动表中选中要转换为検块的宏“轨行多个任务的宏”。
.单击主窗口菜单栏【文件】f【另存为】命令,打■
另存为】对话框,从中选择保存类型为
[u
“
.在【另存为】对话框中单击【确定】按钮.打开【转换宏】对话框,单击【转换】按钮,即可进行转换-
.转换成功后,町看到提丿jt框,单•击【确定】按钮,结束转换任务。
同时打开模块囱「1.可看到转换过來的模块名称。
>VCs=**w«
•-
1™:
=•^urejmiiiggiaMdB
士归纳分析
■
八—J
通过宏生成模块,方法简单,可以自动编程。
使用宏转换为模块的方法,可以提高编程的效率和正确性。
转换后的模块可以直接使用,例如在命令按钮的“单击-属性中输入“=执行多个任务的宏(尸即可.
通过转换的模块可以学习VBA语句、语法,以及规范的编程格式。
HE
■本章学习要点
■宏对象的作用
■宏使用的主要操作命令
J8・3・1本章学习要点
(1)宏的作用:
宏可以控制其他数据库对象、自动执行某种操作命令的数据库对象,以此来提高数据库使用效率,简化数据库操作。
将数据库对象有机地组织起来。
(2)宏的3种分类:
-操作序列宏
■宏组
■条件宏
4
75)创建宏的唯一方法:
使用设计器来创建。
(4)使用宏的方式:
-创建好的宏可以在数据库窗口直接运行,以检査创建的宏是否符合设计的要求。
■宏的主要使用方式是将宏绑定在某个控件对象上,通过控件的事件属性来运行宏.
(5)认识模块:
模块是Access中重要的对象,它比宏的功能更强大,运行速度更快。
使用模块可以开发十分复杂的应用程序,使数据库系统功能更加完善。
J8・4思考与练习
-思考题:
(1)宏有什么作用?
有几种类型宏?
宏有几种视图?
(2)什么是模块?
它有什么作用?
(3)什么是类模块?
什么是标准模块?
它们各有什么特点?
(4)
4
什么
(5)什么是VBA?
VBA中常量、变量、表达式是如何定义的?
(6)VBA程序包含哪几种流程控制?
它们是如何定义的?
-上机练习:
(1)按以下要求创建“用户密码验证”窗体。
a•创建一个用户口令表,包括“用户名”、“口令”、“姓名”字段•
b・创建一个“用户密码验证”窗体,可以在其中的文本框输入用户名、口令,如图所示。
(2)为命令按钮创建宏,单击【确定】按钮,如果输入的用户名与口令与数据库中的相同,可打开“公司物品信息査询窗口”,否则可以重新输入。
单击【取消】按钮,可关闭“用户密码验证”窗体。
(3)将【确定】按钮宏转换为模块,然后用转换模块中的函数来控制【确定】按钮。
(4)为“用户密码验证窗口”窗体的主体创建一个事件过程,当鼠标单击窗体时,其背景色变为蓝色。
(提示:
可使用语句“主
体.BackColor*=vbBlue")•
(5)创建一个包含打开报表自定义函数的模块。