此错误发生在Access表单中,当用户试图输入一个已经存在于表单中的记录而没有导航到该记录时会发生该错误。导航到现有记录是一种简单的解决方法,可以通过在代码中包含以下代码来实现:
Private Sub Form_BeforeUpdate(Cancel As Integer) Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.FindFirst "[Field1] = '" & Me.Field1 & "' AND [Field2] = '" & Me.Field2 & "'" If Not rs.NoMatch Then MsgBox "该记录已经存在" Me.Undo Cancel = True End If Set rs = Nothing End Sub
此代码将在用户试图提交新记录时运行,并搜索表单中是否已经存在该记录。如果存在,它会显示消息框并将表单的更改撤销。如果不存在,则可以继续进行提交。