避免在MS Access中关闭表单时提示保存表单

时间:2016-02-11 09:55:30

标签: vba ms-access access-vba

我有一个带保存和取消按钮的表单。

当按下保存并且未提供某些所需数据时,它会提示无法保存数据的消息,并且我会执行一些vba化妆品来更改需要填充的控件的边框。我用红色改变边框颜色并使其更厚。

我的问题是,当触发此更改并且用户决定不提交表单数据时,单击取消按钮后,弹出消息询问用户是否要保存对表单所做的更改,这显然我不希望这样做

我在这篇文章中看到了一些建议 MS Access - Prevent prompt to save form

但是阅读建议答案的文档,对我来说并不是理想的错误。

我还使用

找到了另一种可能的解决方案
DoCmd.Close acForm, "myform", acSaveNo

但似乎acSaveNo仅适用于数据更改,而不适用于控件属性更改。

有没有更好的方法可以避免提示表单保存并自动放弃任何更改并关闭表单?

由于

编辑:我关于更改表单控件外观的代码

Public Function InvalidBox(ByRef theBox As Control)
    theBox.BorderStyle = 1
    theBox.BorderColor = RGB(255, 0, 0)
    theBox.BorderWidth = 2
End Function

在我的取消按钮上,我有这个代码

DoCmd.Close acForm, "myform", acSaveNo

2 个答案:

答案 0 :(得分:1)

解决方案是:通常Access不会在表单视图中询问“是否要保存更改”。仅限于设计视图

因此,在运行时更改表单中的布局属性是完全正常的,关闭表单时没有任何问题。

为什么此处出现的“保存更改”提示未知,但重新启动解决了它。

答案 1 :(得分:0)

除了你已经看过的那些方法之外,别无其他。

最好的办法是避免“物理”设计的变化。不改变边框粗细,只改变颜色,或用通常隐藏的红色矩形覆盖文本框。然后,要取消警告,请取消隐藏矩形。