设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2588|回复: 5
打印 上一主题 下一主题

在ACCESS的VB代码出错时,自动找到出错行

[复制链接]
跳转到指定楼层
1#
发表于 2016-11-2 09:28:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在ACCESS2003中,遇到程序错误时,系统会弹出错误提示,然后找到最后执行的出错语句行,并用颜色标识,这个功能很方便。
但现在,如果使用的是宏,那么只提示出错的宏名,没有进一步找到VB的最后出错语句行。
而对于并未使用宏的VB程序,则没有任何提示,完全无动静
在VB编辑器的菜单:工具-选项 里面,已选择:自动语法检测各项、及遇到未处理的错误时中断的选项
请教如何恢复这个功能!若要依靠个人去查找出错,花费的时间实在太大
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-11-2 09:39:35 来自手机 | 只看该作者
1.接shift进入
2.暂时去掉On error
来自: 微社区
3#
 楼主| 发表于 2016-11-2 10:10:55 | 只看该作者
刚看到。不好意思,网页没有自运刷新,还以为未有回复
1.按shift进入
不是很明白,请问是怎样操作,请列具体的操作界面和步骤
4#
 楼主| 发表于 2016-11-2 11:43:20 | 只看该作者
二楼的提示,本人仍然未弄清楚。
无论是否包含ON ERROR出错程序,假如子过程2有错误,那么前面无错的程序照常运行,到子过程2时,就全无动静,所以也无法通过在子过程2中自定义MSGBOX来逐步锁定出错行
请各位高手尽快赐教
5#
发表于 2016-11-4 01:27:09 | 只看该作者
宏是按顺序一步步运行的。因此,一旦出现错误,只能是当前的宏名有问题,检查出错的宏名就好了。
例如,使用导入文件的宏时,没有该文件,或者该文件被占用而无法导入。当宏运行到“导入”时则出错。宏出错时都有提示,根据提示去检查各项参数就好了。
如果是宏调用VBA里的子程序而出错,则应单独检查子程序。
----------------------------------------

至于整个宏组出错里若干个宏名出错,而觉得无法检查或者检查不方便的时候,楼主最应该思考的不是如何去排查,而是先反思,流程有没有问题。基本上只有流程上思考不周全,才会导致宏组大片出错。
在创建宏组之前,个人建议,最好理清下流程。到底属于并列关系还是先后顺序,如果是先后顺序,则不能乱调。

以下面的链接附件为例,由于数据包含压缩包,压缩包是不能被直接导入(或链接)数据的,因此需要先解压再导入(或链接),这就存在一个先后顺序问题了。一旦对调肯定出错:
http://www.office-cn.net/thread-121627-1-1.html

如果有时间,就仔细琢磨下吧。事实上,宏组用到的东西并不算太多,一般都是导入导出数据,执行操作查询等等。其它宏(例如打开数据表)等等不是不能做,只是出于安全性的考虑,往往通过窗体来完成而已。

------------------------------------------------
关于宏的调试
一般宏的调试可以通过在不同的位置插入stopmacro来调试。宏是没有强制跳过出错的玩法的。。。。那是VBA才有的On Error Resume Next。
6#
 楼主| 发表于 2016-11-11 14:41:35 | 只看该作者
谢谢!本人在ACCESS里面主要用的是VBA,提到宏只是讲述两种情况。
最后检查出来,是VBA程序的变量名未定义。虽然强制声明了Option Explicit,但是程序引用了未声明的变量时,系统没有反映任何信息。
虽然问题仍然摆在这里,还是要谢谢大家!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-1 21:15 , Processed in 0.112731 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表