在我的字段的更新前事件中,我设置了一个 dcount 以禁止字段 SurveyID 中的重复项。这很好用,除非在过去的记录中,用户意外开始编辑他们的 SurveyID 并尝试取消(意外选择了 SurveyID 字段,开始输入,然后删除它并输入 SurveyID)。它将 SurveyID 读取为重复项(即使它不是真的),并且不允许他们保留该 ID。我已经通过在此之后重置 SurveyID 完成了一半的解决方法,所以如果他们处于上述情况,他们至少可以保留他们的 ID。我真的想知道我的代码是否有办法防止这种情况发生。SurveyId 不是主键,因为它们可以使用两个不同的 ID 代码。
这是我当前的代码
Private Sub SurveyID_BeforeUpdate(Cancel As Integer)
'checks for duplicates'
If DCount("SurveyID", "test", "SurveyID=" & Nz(Me.SurveyID, 0)) > 0 Then
Beep
MsgBox "The Survey ID number you have entered is a duplicate. Please double check that the number you entered is correct. If it is correct, please X."
Me.SurveyID.Undo
Cancel = True
End If
End Sub