【问题标题】:Avoid prompt to save form upon form close in MS Access避免提示在 MS Access 中关闭表单时提示保存表单
【发布时间】:2016-02-11 20:50:57
【问题描述】:

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

当按下保存时,一些需要的数据没有提供,提示无法保存数据,我做了一些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

【问题讨论】:

  • 请添加更改表单的代码,以及取消按钮。我很惊讶您收到“保存更改”提示,因为当我使用 VBA 在 表单视图 中进行更改并关闭表单时,我没有收到提示。仅适用于设计视图中的更改。
  • @Andre 我添加了代码。谢谢
  • @Andre 你是对的。看起来我的访问权限有些混乱。重新启动并再次打开它。表单不再提示保存。谢谢

标签: ms-access vba


【解决方案1】:

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

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

这里出现“保存更改”提示的原因未知,但重启解决了。

【讨论】:

    【解决方案2】:

    除了你已经见过的那些方法之外,真的没有。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      相关资源
      最近更新 更多