我的 Access 2000 DB 给我带来了问题 - 有时(尚未查明原因)“书籍”表单无法关闭。单击其关闭按钮不会执行任何操作,文件 -> 关闭不会执行任何操作,甚至关闭 Access 也不会执行任何操作。我没有此表单的 OnClose 处理程序。我能找到的唯一解决方法包括打开 Vba 编辑器,更改该表单的代码(甚至添加一个空格,然后立即删除该空格),然后返回关闭“book”表单,将其关闭,然后说“不,我不想保存更改”。只有这样它才会关闭。有什么帮助吗?

有帮助吗?

解决方案

我认为这是一个论坛帖子,描述了您面临的同样的问题。下面的摘录说明了一种解决方法。

我要做的是将代码放在关闭按钮上,以将任何子形式的源对象重新分配给空白表单,例如:

我!subparts.sourceObject =“ subblank”'subblank是我的表格,它完全空白,没有代码和控件等。docmd.close acForm, "fParts", acSaveNo

以上2行是我发现防止访问提示弹出的唯一方法。

http://bytes.com/forum/thread681889.html

其他提示

另一种选择是

(Me.Checkbox) 

或者我喜欢的语法:

(Me!Checkbox)

在我看来,这个主题的帖子有很多混乱。原发帖者选择的答案引用了一篇文章,其中用户提示保存 设计变更 到表单,但这里描述的问题似乎是表单关闭失败,而不是保存问题(保存问题仅在描述转到 VBE 并进行代码更改的解决方法中出现)。

我想知道原始用户是否设置了不正确的 VBE 选项?如果您打开VBE并转到工具|选项,在“常规”选项卡上,您将看到有关错误处理的几个选择。应选择“中断未处理的错误”或“中断类模块”,但重要的是要认识到,如果使用前者,则可能看不到某些类型的错误。

除了对复选框控件的引用似乎导致了问题之外,没有足够的详细信息来进行更多诊断,但有许多 Access 编码最佳实践可以帮助您避免其中一些奇怪的情况。中与代码相关的建议 Tony Toews 的最佳实践页面 是一个很好的起点。

这确实很奇怪。表单上有计时器控件吗?如果这样做,请尝试在 OnClose 中禁用它。

表单后面可能会显示询问您是否要保存更改的消息框。我相信此消息框是模态的,因此您必须单击“是”或“否”才能对表单执行任何操作,这就是您无法关闭它的原因。

您的表单有卸载事件吗?可以取消该操作,如果取消,则表单在表单视图中时不会关闭。它只会在设计视图中关闭,当您编辑 vba 代码时,该视图就是您编辑代码时窗体在 Access 窗口中执行的操作。

您的表单是否有复​​选框、切换按钮或选项按钮?Access 2000 中存在一个错误,如果您在 vba 代码中没有显式使用 Value 属性来测试值,则 Access 将不会关闭,如下所示:

If Me.chkbox Then

相对:

If Me.chkbox.Value Then
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top