什么可以阻止MS Access 2000表单关闭?

时间:2008-09-17 15:16:10

标签: ms-access forms

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

6 个答案:

答案 0 :(得分:1)

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

  

我所做的是将代码放在重新分配sourceobject的关闭按钮上   任何子表单到空白表单,例如:

     

me!subParts.sourceobject =“subBlank”'subBlank是我的表格,是   完全空白,没有代码和控件等。   docmd.close acForm,“fParts”,acSaveNo

     

以上两行是我发现阻止Access提示的唯一方法   从弹出。

     

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

答案 1 :(得分:1)

另一种选择是

(Me.Checkbox) 

或我的首选语法:

(Me!Checkbox)

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

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

除了对复选框控件的引用似乎导致了问题之外,还没有足够的细节来诊断更多,但是有一些Access编码最佳实践可以帮助您避免其中的一些古怪。 Tony Toews's Best Practices page中与代码相关的建议是一个很好的起点。

答案 2 :(得分:0)

这肯定很奇怪。你在表格上有任何计时器控件吗?如果您这样做,请尝试在OnClose中禁用它。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

If Me.chkbox Then

If Me.chkbox.Value Then