在尝试关闭表单时,如何防止Microsoft访问错误消息填充



我有一堆下拉菜单框的访问形式。如果我从列表中选择一个值,然后更改我的想法并再次空白,请单击"关闭",我总是会收到此消息:

the data has been changed
Another User edited this record and saved the changes 
before you attempted to save your changes
Re-edit the record.

我在

的背景中有3个不同的宏

交易类型
贷款例外评论
更新标志

我认为这些宏不会影响任何错误。但是,我可以写一些东西,以便它捕获此错误消息并忽略它,然后在我单击关闭时继续关闭?

主表单VBA具有此代码:

Private Sub Close_Click()
 Me.FrmJobDetails.Form.Requery
 Me.subform1.Form.Requery
If Me.FrmJobDetails.Form.Dirty = True Then 'what I tried adding
 me.FrmJobDetails.Form.Dirty = False 'what I tried adding
End If
 If Me.subform1.Form.Dirty = True Then 'what I tried adding
 me.subform1.Form.Dirty = False 'what I tried adding
End If
    DoCmd.SetWarnings (WarningsOff)
    DoCmd.Save
    entry
    DoCmd.OpenQuery ("aqrySBORequestSiteDetail"), , acReadOnly

    DoCmd.Close
    DoCmd.SetWarnings (WarningsOn)
End Sub

在该代码中,我认为"我尝试添加的内容"是我认为可以防止该错误消息发生的。

有什么建议吗?

我用它来处理写冲突错误(7787(。当有写冲突时,第一个更改会通过,第二个更改将被丢弃。

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    If DataErr = 7787 Then
        Response = acDataErrContinue
        On Error Resume Next
        With Me.Recordset
            .MovePrevious
            .MoveNext
        End With
        On Error GoTo 0
    End If
End Sub

好...跳过它:

On Error Resume Next

在宏的顶部会跳过任何错误的命令。

这不会解决原因,但会停止弹出错误。

谢谢!我发现这在我的尽头工作。相同的脚本,但dataerr 7878。

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    If DataErr = 7878 Then
        Response = acDataErrContinue
        On Error Resume Next
        With Me.Recordset
            .MovePrevious
            .MoveNext
        End With
        On Error GoTo 0
    End If
End Sub

最新更新