设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] mde与on error的困惑!

[复制链接]
跳转到指定楼层
1#
发表于 2012-7-13 10:13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lmj9401 于 2012-7-13 11:31 编辑

在access数据库中新建窗体(或报表),然后在“打开”事件中添加以下代码:
  1.     On Error Resume Next
  2.     Dim str As String
  3.     str = Parent.Name
  4.     MsgBox str
复制代码
当直接运行该窗体(或报表)时,由于Parent.Name是一个显然的错误引用,触发error。但是on error在mdb和mde中的表现却大相径庭。

在mdb文件中On Error Resume Next可以发挥作用,代码正常运行。
在mde文件中On Error Resume Next引发程序崩溃,如图所示。


请问,应该如何解决on error在mde中引发程序崩溃的问题?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-7-13 10:30:54 | 只看该作者
Parent.Name
在子窗体中不能用于打开或者加载等事件,应该写成过程由主窗体调用,因为子窗体先加载,执行OPEN事件时候,还读取不到主窗体的属性
3#
 楼主| 发表于 2012-7-13 11:09:05 | 只看该作者
上述数据库中只有一个窗体(或报表),Parent.Name是一个显而易见的错误,这个错误是故意设置的,这里要考察的是On Error Resume Next的执行效果。
在mdb文件中On Error Resume Next能够有效的捕获异常(错误)并忽略该异常继续执行后面的代码。但是在mde文件中却引发程序崩溃,On Error Resume Next机制失效!

点击这里给我发消息

4#
发表于 2012-7-13 13:37:24 | 只看该作者
测试了一下,确实如楼主所说,On Error Resume Next 在 mde 中失效,
不过改用 On Error GoTo line 还是可以的。

这是一个很宝贵的经验,谢谢分享!

5#
 楼主| 发表于 2012-7-13 20:15:24 | 只看该作者
我猜测,这可能是mde优化代码造成的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 20:06 , Processed in 0.084450 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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