MS Access关闭时不保存VBA

时间:2014-09-06 06:50:34

标签: access-vba

我在MS Access 2007上设置了数据库。 在Form属性上的BeforeUpdate选择中,我放置了以下宏:

Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("Changes have been made to this record." & vbCrLf & vbCrLf & "Do you want to save these changes?", vbYesNo, "Save?") = vbYes Then
            DoCmd.Save
        Else
            DoCmd.RunCommand acCmdUndo
    End If
End Sub

保存VBA后,Forms将按预期运行。 问题是:当Access关闭并重新打开时,表单不会询问是否需要保存(即不执行VBA代码)。请协助

如何使VBA代码保持不变?

1 个答案:

答案 0 :(得分:1)

表单BeforeUpdate事件 未触发 ,除非 记录任何控件的数据改变了。换句话说,如果您打开并关闭表单而不进行任何更改(手动或以编程方式),则永远不会触发事件。这可能解释了为什么这不是问你的选择。

如果您使用表单的记录选择器,则可以轻松识别是否会触发事件。如果记录选择器形成三角形到铅笔,则会触发偶数,否则不会触发,因为没有进行任何更改。

希望有所帮助。