【发布时间】:2016-09-22 12:56:30
【问题描述】:
我有一个应该关闭其前身的 Access 表单 -
If CurrentProject.AllForms("fmFileCheck").IsLoaded Then
DoCmd.Close acForm, "fmFileCheck", acSaveNo
Else
End If
IF 语句工作正常(我注入了一个消息框进行测试),但表单根本没有关闭。没有错误信息或任何内容,它只是坐在那里嘲笑我,就像松鼠嘲笑猫一样。
编辑:
表单在其前身的“当前”事件上打开,上面的代码在“当前”上执行 - 但如果代码打开第二个表单是通过第一个表单上的按钮调用的它工作正常 - 所以我猜问题出在哪里?
【问题讨论】:
-
DoCmd.SetWarnings的设置是什么?如果不指定acSaveNo会怎样? (我发现从来没有设置过,因为它总是回来咬我) -
我选择哪个设置没有区别,而且 SetWarnings 没有被触及。
-
您正在关闭您正在打开的同一个表单?或关闭一个不同的?你想做什么?也许这可能会给我们一个线索!
-
如果您尝试关闭表单并重新打开它,请查看
DoEvents。它可以帮助您在尝试关闭和/或打开表单之前刷新事件和消息队列。