我在Access中使用了一堆下拉菜单框。如果我从列表中选择一个值,然后改变主意并再次将其留空,请单击“关闭”,我总是收到此消息:
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
在该代码中,注释“我尝试添加的内容”是我认为可以防止发生错误消息的内容。
有什么建议吗?
答案 0 :(得分:2)
我用它来处理 Write Conflict 错误(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
答案 1 :(得分:1)
嗯......跳过它:
On Error Resume Next
在宏的顶部将跳过任何有错误的命令。
这不会解决原因,但会停止弹出错误。