gpt4 book ai didi

vba - 防止关闭按钮在 MS Access 中保存记录

转载 作者:行者123 更新时间:2023-12-04 17:24:19 25 4
gpt4 key购买 nike

在 Microsoft Access 窗体中,只要当前记录发生更改,绑定(bind)控件中的任何更改都会以静默方式保存到数据库表中。这很好,但我不希望在用户关闭表单时发生这种情况,因为这与许多人的期望正好相反。

最好的例子是,当您尝试关闭未保存更改的 excel 文件时,它会询问是否应丢弃更改。这正是我试图在 Access 中实现的,但找不到任何方法来捕获 VBA 中的关闭按钮事件。

表单的 Unload 事件是当有人单击关闭按钮时触发的第一个事件,但此时更改已写入数据库。

这是可能的,还是我必须创建自己的关闭按钮?我很乐意为这样的琐碎事情编写大量代码,但我讨厌不得不使 GUI 困惑。

最佳答案

您必须使用 Form_BeforeUpdate事件。下面是一个例子;但是它确实会创建一条典型的警告消息:“此时您无法保存此记录。Microsoft Access 在尝试保存记录时可能遇到错误......” - 取决于您的数据库设置。您可以使用下面的简单解决方法来避免显示该消息。

Private Sub Form_BeforeUpdate(Cancel As Integer)
Cancel = True
'Or even better you can check certain fields here (If Then...)

End Sub


Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 2169 Then
Response = True
End If
End Sub

关于vba - 防止关闭按钮在 MS Access 中保存记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12953949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com