如何防止Access数据库中的重复条目?

时间:2017-04-04 22:30:55

标签: vba access-vba access

我是VBA的第一次编码员,我正在为我工​​作的心理实验室创建一个数据输入数据库。目前已创建数据库,但我想防止将重复条目放入数据库(即通过在输入后立即查找参与者号码)。我一直试图修复这段代码已经有一段时间了,我刚刚碰壁了。当我输入参与者号码时,它会显示正确的错误消息,但是它表示已经输入了每个号码(即使它们实际上没有输入)。这是代码:

Private Sub Participant_Number_BeforeUpdate(Cancel As Integer)

    Dim Participant_Number As Integer

    Dim StLinkCriteria As Integer

    If (Not IsNull(DLookup("[Participant_Number]", "Entry Log", "[Participant_Number] ='" & Me.Participant_Number.Value & "'"))) Then
        MsgBox "Participant Number has already been entered in the database."
    Cancel = True
    Me.Participant_Number.Undo
    End If

End Sub

非常感谢任何帮助。我之前从未使用过VBA,而且我自学了如何编码。

2 个答案:

答案 0 :(得分:1)

我猜你的Participant_Number字段是number。您不应将标准用单引号'括起来,这些标准用于text类型的字段。尝试更改

中的条件字段
  

"[Participant_Number] ='" & Me.Participant_Number.Value & "'"))) Then

"[Participant_Number] = " & Me.Participant_Number.Value))) Then

答案 1 :(得分:0)

如果您尚未使用VBA,可以尝试通过在“设计”视图中打开表格来执行此操作。这种方法简单易行,是一个不错的选择。您可以在这里查看:https://support.office.com/en-us/article/Prevent-duplicate-values-in-a-field-b5eaace7-6161-4edc-bb90-39d1a1bc5576?ui=en-US&rs=en-US&ad=US&fromAR=1