Access调试技巧及方法
时 间:2012-11-05 09:04:31
作 者:宏鹏 ID:21115 城市:上海
摘 要:AccessVBE调试技巧及方法
正 文:
1.执行代码
VBE提供了多种程序运行方式,通过不同的运行方式运行程序,可以对代码进行各种调试工作。
〔1〕逐语句执行代码
逐语句执行是调试程序时十分有效的工具。通过单步执行每一行程序代码,包括被调用过程中的程序代码可以及时、准确地跟踪变量的值,从而发现错误。如果要逐语句执行代码,可单击工具条上的“逐语句”按钮,在执行该命令后,VBE运行当前语句,并自动转到下一条语句,同时将程序挂起。
对于在一行中有多条语句用冒号隔开的情况,在使用“逐语句”命令时,将逐个执行该行中的每条语句。
〔2〕逐过程执行代码
如果希望执行每一行程序代码,不关心在代码中调用的子过程的运行,并将其作为一个单位执行,可单击工具条上的“逐过程”按钮。逐过程执行与逐语句执行的不同之处在于,执行代码调用其他过程时,逐语句是从当前行转移到该过程中,在此过程中一行一行地执行,而逐过程执行则将调用其他过程的语句当作一个语句,将该过程执行完毕,然后进入下一语句。
〔3〕跳出执行代码
如果希望执行当前过程中的剩余代码,可单击工具条上的“跳出”按钮。在执行跳出命令时,VBE会将该过程未执行的语句全部执行完,包括在过程中调用的其他过程。执行完过程后,程序返回到调用该过程的过程,“跳出”命令执行完毕。
〔4〕运行到光标处
选择“调用”菜单的“运行到光标处”命令,VBE就会运行到当前光标处。当用户可确定某一范围的语句正确,而对后面语句的正确性不能保证时,可用该命令运行程序到某条语句,再在该语句后逐步调试。这种调试方式通过光标来确定程序运行的位置,十分方便。
〔5〕设置下一语句
在VBE中,用户可自由设置下一步要执行的语句。当程序已经挂起时,可在程序中选择要执行的下一条语句,单击鼠标右键,并在弹出菜单中选择“设置下一条语句”命令。
2.暂停代码运行
VBE提供的大部分调试工具,都要在程序处于挂起状态时才能有效,这时就需要暂停VBA程序的运行。在这种情况下,程序仍处于执行状态,只是暂停正在执行的语句,变量和对象的属性仍然保持,当前运行的代码在模块窗口中被显示出来。
如果要将语句设为挂起状态,可采用以下几种方法。
〔1〕断点挂起
如果VBA程序在运行时遇到了断点,系统就会在运行到该断点处时将程序挂起。可在任何可执行语句和赋值语句处设置断点,但不能在声明语句和注释行处设置断点。不能在程序运行时设置断点,只有在编写程序代码或程序处于挂起状态时才可设置断点。
可以在模块窗口中,将光标移到要设置断点的行,按F9键或单击工具条上的“切换断点”按钮设置断点,也可以在模块窗口中,单击要设置断点的行的左侧边缘部分,即可设置断点。
如果要消除断点,可将插入点移到设置了断点的程序代码行,然后单击工具条上的“切换断点”按钮,或在断点代码行的左侧边缘单击。
〔2〕Stop语句挂起
给过程中添加Stop语句,或在程序执行时按Ctrl+Break键,也可将程序挂起。Stop语句是添加在程序中的,当程序执行到该语句时将被挂起。它的作用与断点类似。但当用户关闭数据库后,所有断点都会自动消失,而Stop语句却还在代码中。如果不再需要断点,则可选择“调试”菜单的“清除所有断点”命令将所有断点清除,但Stop语句必须逐行清除,这比较麻烦。
3.査看变量值
VBE提供了多种查看变量值的方法,下面简单介绍各种查看变量值的方式。
〔1〕在“代码窗口”中查看数据
在调试程序时,希望随时查看程序中的变量和常量的值,这时候只要鼠标指向要查看的变量和常量,就会直接在屏幕上显示当前值。这种方式最简单,但是只能查看一个变量或常量。如果要查看几个变量或一个表达式的值,或需要查看对象以及对象的属性,就不能直接通过鼠标指向该对象或表达式在“代码窗口”中查看了。
〔2〕在“本地窗口”中查看数据
可单击工具条上的“本地窗口”按钮打开“本地窗口”。本地窗口有3个列表,分别显示“表达式”、表达式的“值”和表达式的“类型”。有些变量,如用户自定义类型、数组和对象等,可包含级别信息。这些变量的名称左边有一个加号按钮,可通过它控制级别信息的显示。
列表中的第1个变量是一个特殊的模块变量。对于类模块,它的系统定义变量为Me。Me是对当前模块定义的当前类实例的引用。因为它是对象引用,所以能够展开显示当前类实例的全部属性和数据成员。对于标准模块,它是当前模块的名称,并且也能展开显示当前模块中所有模块级变量。在“本地窗口”中,可通过选择现存值,并输入新值来更改变量的值。在“本地窗口”中查看变量,如图2-21所示。
〔3〕在“监视窗口”查看变量和表达式
程序执行过程中,可利用“监视窗口”查看表达式或变量的值。可选择“调试”菜单的“添加监视”命令,设置监视表达式。通过“监视窗口”可展开或折叠级别信息、调整列标题大小以及就地编辑值等。在“监视窗口”中查看变量,如图2-22所示
〔4〕使用“立即窗口”查看结果
使用“立即窗口”可检查一行VBA的结果。可以键入或粘贴一行代码,然后按下Enter键来执行该代码。可使用“立即窗口”检查控件、字段或属性的值,显示表达式的值,或者为变量、字段或属性赋予一个新值。“立即窗口”是一种中间结果暂存器窗口,在这里可以立即求出语句、方法和Sub过程的结果。
可以将Debug对象的Print方法加到VBA代码中,以便在运行代码过程中,在立即窗口显示表达式的值或结果,这在前面的众多的示例中都有应用。
〔5〕跟踪VBA代码的调用
在调试代码过程中,当暂停VBA代码执行时,可使用“调用堆栈”窗口查看那些已经开始执行但还未完成的过程列表。如果持续在“调试”工具条上单击“调用堆栈”按钮,Access会在列表的最上方显示最近被调用的过程,接着是早些被调用的过程,依次类推。 在“调用堆栈”窗口中查看过程,如图2-23所示。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)