我已经开发了一个表单,我想在用户离开修改后的记录之前提示他们保存更改。
如果用户试图离开,我希望出现一个提示,询问他们是否希望保存更改,他们可以选择“是”或“否”。
我已被告知该Before Update
事件是我需要关注的事件,但我不断收到“您输入的更新前的表达式,因为事件属性设置产生了以下错误”消息。
这些是我在遇到错误之前采取的步骤:
- 将视图更改为表单视图
- 通过表格在记录中的任何地方进行更改
- 尝试通过我放入表单中的导航按钮导航离开表单(如果没有进行任何更改,它工作得很好,但如果进行了单个更改,则无法执行任何操作)
- 什么都没有发生,所以我恢复到设计视图,收到以下错误通知
- 我按确定,然后收到此消息:
然后我回到一号广场。
此外,自从出现此问题以来,任何条件格式都已完全停止工作;我不确定这两者是否有联系,但认为值得一提。
任何想法如何实现这一点(理想情况下没有错误)?不幸的是,我无法发布我的系统,因为它处理高度机密的数据。
更新:
我尝试了各种我修改过的代码,但都无济于事。目前,我已经完全删除了任何这样的代码,但我过去尝试过的代码是这样的:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim ctl As Control
On Error GoTo Err_BeforeUpdate
If Me.Dirty Then
If MsgBox("Do you want to save?", vbYesNo + vbQuestion, _
"Save Record") = vbNo Then
Me.undo
End If
End If
Exit_BeforeUpdate:
Exit Sub
Err_BeforeUpdate:
MsgBox Err.Number & " " & Err.Description
Resume Exit_BeforeUpdate
End Sub