Access调试技巧及方法-宏鹏
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


Access调试技巧及方法

发表时间:2012/11/5 9:04:31 评论(0) 浏览(18943)  评论 | 加入收藏 | 复制
   
摘 要: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群(群号:198465573)
 
 相关文章
调试简介  【leolong  2009/4/1】
关于调试VBA代码时三种类型错误的说明  【微软  2011/8/23】
VBA代码调试方法  【风行  2012/1/21】
视频:access课程第九章6_程序调试与错误处理  【whtancky  2012/3/1】
【译文】代码来帮助你调试SQL代码—POPQuery  【周芳  2012/4/22】
监视窗口工具使用方法-VBA代码调试  【风行  2012/5/26】
常见问答
技术分类
相关资源
文章搜索
关于作者

宏鹏

文章分类

文章存档

友情链接