6.2 Access 2003编程环境
6.2.1 启动 VBE
6.2.2 VBE界面
Access 2003的编程环境为 Microsoft
Visual Basic Editor(简称为 VBE)。这
是一个 Microsoft Office所有软件公用的
一个程序编辑系统,具有丰富的功能。
返回
Access 2003数据库中包含的程序可以分为
两种类型, 独立程序模块和绑定型程序模
块 。 这两类程序模块的编辑调试环境均为
VBE,但是启动 VBE的方式不同 。
6.2.1 启动 VBE
所谓绑定性程序模块是指包含在窗体, 报表,
页等数据库基本对象之中的事件处理方法,
这样的程序模块仅在本对象处于活动状态
下有效 。 例如, 在上一节中分析得到的那
些方法 ( 程序 ) 即属于这一类型 。
首先进入, 商品进货数据录入, 窗体设计视
图;接着选定需要对之编写方法的对象,
例如选定位于窗体页眉中标签为, 进货货
号, 的文本框控件;单击工具栏上的, 属
性, 按钮,”, 随之出现这个文本框控件
的属性设置对话框, 如图 6-1所示 。
1.创建绑定型程序模块
图 6-1 Text19文本框控件属性对话框中的事件属性卡
为了编写位于“商品进货数据录入”窗体
页眉中标签为“进货货号”的文本框控
件处理“更新后”事件的方法,应该在
,Text19”文本框控件的“更新后”事件
行右侧单击“生成器”按钮。随即出现
“选择生成器”对话框,如图 6-2所示。
图 6-2,选择生成器”对话框
在“选择生成器”对话框中,选中“代码
生成器”选项,然后单击“确定”按钮,
即可启动 VBE,如图 6-3所示。
图 6-3 VBE界面
2.编辑绑定型程序模块
如果已经在一个窗体中编写了一些程序,需要对
之进行修改编辑,当然也可以采用上述方式启动
VBE。另外,还可以有一个更加方便的方式。
在数据库设计视图的窗体对象卡中,单击工具栏
中的“代码”按钮“”,也可以启动 VBE。采用
这样的方式启动 VBE,在 VBE代码窗口中将显示
当前选中的窗体对象包含的代码。除此之外,还
可以在数据库设计视图的窗体对象卡中,单击菜
单栏中的菜单项 【 工具 】 |【 宏 】 |【 Visual Basic
编辑器 】,同样启动 VBE,并在 VBE代码窗口中
将显示当前选中的窗体对象包含的代码。
? 所谓独立程序模块,是指 Access 2003数据库中
的模块对象。这些模块对象可以在数据库中被任
一个对象所调用,但是其调用的规则较为繁琐。
根据 Microsoft网站介绍,Access 2003以后的版
本不保证继续支持模块对象,且本书也不打算介
绍模块对象的应用,所以此处只是简单介绍启动
VBE的方法。
? 首先在数据库设计视图中选定模块对象卡,然后
单击工具栏中的“代码”按钮“”,或者单击菜
单栏中的菜单项 【 工具 】 |【 宏 】 |【 Visual Basic
编辑器 】,也可以启动 VBE,并使得 VBE程序
代码窗口中显示被选中的模块对象包含的程序代
码。
3.编辑独立程序模块
?另外,也可以在数据库设计视图中选
定模块对象卡上,单击“新建”按钮
“”,启动 VBE。这样,在 VBE程序
代码窗口中将显示一块空白,等待输
入程序代码。
?同样,也可以在数据库设计视图中选
定模块对象卡上选中一个已经存在的
模块对象,然后单击“设计”按钮
“”,从而使得在 VBE程序代码窗口
中显示这个被选定模块对象的程序代
码,获得该模块对象程序代码的编辑
环境。
编写程序代码离不开编辑环境, 本
小节将详细介绍 VBE界面的使用,
包括 VBE工具栏与 VBE窗口的使用 。
6.2.2 VBE界面
1,VBE工具栏
( 1), 标准, 工具栏
,标准, 工具栏包含几个常用的菜单项快捷方式
的按钮 。
( 2), 编辑, 工具栏
,编辑, 工具栏包含几个在编辑代码时经常使用
的常用菜单项快捷方式的按钮 。
( 3), 调试, 工具栏
,调试, 工具栏包含了在调试代码中常用的菜单
快捷方式的按钮 。
( 4), 用户窗体, 工具栏
,用户窗体, 工具栏所包含的按钮是一些常用菜
单项的快捷方式, 在使用窗体工作时非常有用 。
2,VBE窗口
? VBE使用多种不同窗口来显示不同对象
或是完成不同任务。 VBE中的窗口有:
代码窗口、立即窗口、本地窗口、对象
浏览器、工程资源管理器、属性窗口、
工具箱、用户窗体窗口和监视窗口等。
在 VBE窗口的“视图”菜单中包括了用
于打开各种窗口的菜单命令。下面分别
介绍各种窗口的使用。
代码窗口用来编写, 显示以及编辑 VBA代
码 。 打开各模块的代码窗口后, 可以查
看不同窗体或模块中的代码, 并且在它
们之间做复制以及粘贴的动作 。
可以按照下列所述的方式来打开代码窗口:
I,在工程窗口中, 可以选择一个窗体或模
块, 然后选择, 代码, 按钮,, ;
II,在“用户窗体”窗口中,可以选中控
件或窗体;也可以从“视图”菜单中选
择“代码”。
( 1)代码窗口
编辑代码时可以将所选文本拖动到:当前
代码窗口中的不同位置, 其它的代码窗
口, 立即窗口以及监视窗口中或, 回收
站, 中 。
图 6-8是一个标准的, 代码窗口, 。, 代码
窗口, 的窗口部件主要有:, 对象, 框,
,过程 /事件, 框, 拆分栏, 边界标识条,
,过程查看, 图标和, 全模块查看, 图
标 。
“对象”框:是一个列表框,用于显示
所选对象的名称。可以按列表框中的右
边箭头,来显示此窗体中的所有对象。
图 6-8 代码窗口
,对
象, 框
,过程
/ 事件
” 框
,过程
查看,
图标
边界
标识
条 拆分

,全模块
查看, 图

,过程 /事件, 框:是一个列表框, 其中可以列
出所有 VBA的事件 。 当选择了一个事件, 则与事件
名称相关的事件过程, 就会显示在代码窗口;
如果在对象框中显示的是, 通用,, 则过程框
会列出所有声明, 其对应程序代码以及为此窗体所
创建的常规过程 。 如果正在编辑模块中的代码, 则
过程框会列出所有模块中的常规过程 。 在上述两实
例中, 在过程框中所选的过程所对应的程序代码都
会显示在代码窗口中 。
拆分栏:将拆分栏向下拖放,可以将代码窗口
分隔成两个水平窗格,两者都具有滚动条。可以在
同一时间查看代码中的不同部分。显示在对象框以
及过程 /事件框中的信息,是以当前拥有焦点的窗
格之内的代码为准。
将拆分栏拖放到窗口的顶部或下端, 或者双击拆
分栏, 都可以关闭一个窗格 。 此时模块中的所
有过程会出现在一个单一滚动条的列表中, 它
们是按名称的字母来排列的 。 可以从代码窗口
上端的下拉式列表中选取一个过程, 此时指针
会移到所选过程的第一行代码上面 。
边界标识条:代码窗口的左边的灰色区域如果设
置程序调试断点, 这个断点表识符将显示在边
界标识条中 。
,过程查看, 图标:显示所选的过程, 同一时间
只能在代码窗口中显示一个过程;
“全模块查看”图标:显示模块中全部的代码。
使用立即窗口可以进行以下操作:
I,键入或粘贴一行代码, 然后按下 Enter
键来执行该代码;
II,从立即窗口中复制并粘贴一行代码到
代码窗口中, 但是立即窗口中的代码是
不能存储的 。
图 9-10便是立即窗口。立即窗口可以拖放
到屏幕中的任何地方,除非己经在“选
项”对话框中的“可连接的”选项卡内,
将它设定为停放窗口。可以按下关闭框
来关闭一个窗口。如果关闭框不是可见
的,可以先双击窗口标题行,让窗口变
成可见的。
( 2)立即窗口
图 6-9 立即窗口示例
使用本地窗口自动显示出所有在当前过
程中的变量声明及变量值。如图 9-11所
示。
若本地窗口为可见的, 则每当从执行方式
切换到中断模式或是操纵堆栈中的变量
时, 它就会自动的重建显示 。
在本地窗口中可以通过往左或往右拖移
边线,来重置列标头的大小;或者按下
关闭框来关闭一个窗口。如果关闭框不
是可见的,可以先双击窗口标题行,让
窗口变成可见的。
( 3)本地窗口
图 6-10 本地窗口
若本地窗口为可见的, 则每当从执行方式切换到中
断模式或是操纵堆栈中的变量时, 它就会自动的
重建显示 。
在本地窗口中可以通过往左或往右拖移边线,来
重置列标头的大小;或者按下关闭框来关闭一个
窗口。如果关闭框不是可见的,可以先双击窗口
标题行,让窗口变成可见的。
本地窗口的窗口部件主要有:, 调用堆栈, 按钮,
,表达式,, 值, 类型 。
,调用堆栈, 按钮:单击, 调用堆栈, 按钮, 可打
开, 调用堆栈, 对话框, 它会列出调用堆栈中的
过程;
“表达式”:列出变量的名称;
列表中的第一个变量是一个特殊的模块变
量, 可用来扩充显示出当前模块中的所
有模块层次的变量 。 对于类模块, 会定
义一个系统变量 <Me>。 对于常规模块,
第 一 个 变 量 是 < name of the current
module>。 全局变量以及其它工程中的变
量, 都不能从本地窗口中访问 。 也不能
在表达式列表中进行编辑 。
“值”:列出所有变量的值;
当按下, 值, 字段中的一个值, 指针就会变成, I”
形, 且值会被点划线包围 。 可以在此处编辑这
个值, 并且按下 Enter键, 向上键, 向下键,
<Tab>键, <shift>+ <Tab>键或用鼠标在屏幕上
单击, 使编辑生效 。 如果这个值是无效的, 则
编辑字段会保持在作用中, 且值会突出显示,
并且会出现一个错误信息框来提示, 此时可以
按下 <Esc>键来中止更改 。
所有的数值变量都应该有一个值, 而字符串变量
则可以有空值 。 拥有子变量的变量可以被扩充
或折叠起来 。 折叠起来的父变量不会显示一个
值, 而子变量每一次会显示一个值 。,, 以
及,, 会出现在父变量的左边 。
“类型”:列出变量的类型,不能在此编辑数据。
监视窗口就会自动出现 。 在监视窗口中可
重置列标头的大小, 往右拖移边线来使
它变大, 或往左拖移边线来使它变小 。
可以拖动一个选定的变量到立即窗口或
监视窗口中, 可以按下关闭按钮,,
来关闭窗口 。 如果关闭按钮不是可见的,
可以先双击窗口标题行, 让窗口变成可
见的 。 图 6-11是一个监视窗口 。
( 4)监视窗口
图 6-11 监视窗口
监视窗口的窗口部件作用如下:
,表达式,,列出监视表达式, 并在最左边列出
监视图标 。
,值,,列出在切换成中断模式时表达式的值 。
可以编辑一个值, 然后按下, Enter”键, 向上键,
向下键,, Tab”键,, Shift+Tab”键或用鼠标
在屏幕上单击, 便编辑生效 。 如果这个值是无
效的, 则编辑字段会保持在作用中, 并且值会
以突出显示, 且会出现一个消息框来描述这个
错误 。 可以按下, Esc”键来中止更改 。
,类型,,列出表达式的类型 。
,上下文,,列出监视表达式的内容 。
如果在进入中断模式时,监视表达式的内容不在
范围内,则当前的值并不会显示出来。
对象浏览器用于显示对象库以及工程里
过程中的可用类、属性、方法、事件及
常数变量。可以用它来搜索及使用既有
的对象,或是来源于其它应用程序的对
象。如图 6-12所示。
( 5)对象浏览器
图 6-12 对象浏览器
对象浏览器主要包括以下窗口部件
,工程 /库, 框:显示活动工程的当前所引
用的库 。 可以在, 引用, 对话框中添加库 。
<所有库 >可以一次显示出所有的库 。
,搜索文本, 框:包含要用来做搜索的字符
串 。 可以键入或选择所要的字符串 。 搜索
文本框中包含最后四次输入的搜索字符串,
直到关闭此工程为止 。 在键入字符串时,
可以使用标准的 Visual Basic通配符 。
如果要查找完全相符的字符串,可以用快
捷菜单中的“全字匹配”命令。
,向后,按钮,”:可以向后回到
前一个查看的类及成员列表。每单击一
次便向后一个选项,直到最后。相当于
IE中的“后退”功能。
向前, 按钮,,,每次单击可以重复
原本选择的类及成员列表, 直到选择列
表用完 。 相当于 IE中的, 前进, 功能 。
,复制到剪贴板,按钮,”:将成
员列表中的选择或详细框中的文本复制
到剪贴板。可在之后将选择贴到代码中。
,查看定义, 按钮,,,将光标移到, 代码,
窗口中定义成员列表或类列表中选定的位置,
即查看该成员是在那里定义的 。
,帮助” 按钮,”:显示在类或成员列表
中,选定工程的联机帮助主题。也可以使用
,F1”键。
,搜索, 按钮,,,激活类或属性, 方法, 事
件或常数等符合在, 搜索文本, 框中键入字符
串的库搜索, 并且打开有适当信息列表的, 搜
索结果, 框 。
,显示 /隐藏搜索结果,按钮,”:打开或
隐藏“搜索结果”框。“搜索结果”框改变成
显示从“工程 /库”列表中所选出的工程或库的
搜索结果。搜索结果会缺省的按类型创建组,
并从 A到 Z排列。
,搜索结果列表,,显示搜索字符串所包含工程
的对应库, 类及成员 。, 搜索结果, 框在改变
,工程 /库, 框中的选择时会同步改变 。
,类列表,,显示在, 工程 /库, 框中选定的库或
工程中所有可用的类 。 如果有代码编写的类,
则这个类会以粗体方式显示 。 这个列表的开头
都是, globals”,是可全局访问的成员列表 。
如果选择了类, 但没有选择特定的成员, 会得到
缺省成员 。 缺省的成员以星号, *” 或以此成员
特定的缺省图标做为标识 。
,成员列表,:按组显示出在“类”框中所选类
的元素,在每个组中再接字母排列。用代码编
写的方法、属性、事件或常数会以粗体显示。
可用“对象浏览器”的快捷菜单中的“组成员”
命令改变此列表顺序。
,详细数据,,显示成员定义 。, 详细数
据, 框包含一个跳转, 以跳到该元素所
属的类或库 。 某些成员的跳转可跳到其
上层类 。 例如, 如果, 详细数据, 框中
的文本表示 Commandl声明为命令按钮类
型, 则单击命令按钮可以到, 命令按钮,
类 。 可以将, 详细数据, 框中的文本复
制拖动到, 代码, 窗口 。
,拆分条”,拆分可以调整框的大小。
它位于“类”框及“成员”框之间,
“搜索结果”列表及“类”与“成员”
框之间,“类”与“成员”框及“详细
数据”框之间。
工程资源管理器显示工程 ( 即模块的集合 ) 层次
结构的列表以及每个工程所包含与引用的项目 。
即显示工程的一个分支结构列表和所有包含的
模块 。 如图 6-13所示 。
工程资源管理器窗口的工具栏按钮的功能如下:
,查看代码, 按钮,,,显示代码窗口, 以编
写或编辑所选工程目标代码 。
,查看对象, 按钮,,,显示选取的工程, 可
以是文档或是用户窗体的对象窗口 。
,切换文件夹, 按钮,,,当正在显示包含在
对象文件夹中的个别工程时可以隐藏或显示它
们 。
在工程资源管理器列表窗口中列出了所有已装
入的工程以及工程中的模块。
( 6)工程资源管理器
图 6-13 工程资源管理器
属性窗口列出了选定对象的属性, 可以在
设计时查看, 改变这些属性 。 当选取了
多个控件时, 属性窗口会列出所有控件
的共同属性 。
属性窗口的窗口部件主要有对象框和属性
列表, 如图 6-14所示
对象框用于列出当前所选的对象,但只
能列出当前窗体中的对象。如果选取了
多个对象则会以第一个对象为准,列出
各对象均具有的共同属性。
( 7)属性窗口
图 6-14 属性窗口
属性列表可以按分类或字母对对象属性进行排序 。
,按字母序, 选项卡:按字母顺序列出所选的对象
的所有属性以及其当前设置 。 这些属性和设置可
在设计时改变 。 苦要改变属性的设定, 可以选定
属性名, 然后在其右侧文本框中输入新值, 或直
接在其中选取新的设置 。
“按分类序”选项卡:根据性质类别列出所选对
象的所有属性。比如,BackColor,Caption以及
ForeColor都是属于外观的属性。可以层叠这个
列表,这样只能查看分类;也可以展开一个分类
列表,以查看其所有的属性。当展开或层叠列表
时,可在分类名称的左边看到一个加号 (+)或减号
(-)图标,单击可完成展开或层叠操作。