저는 VBA를 처음 사용하는 코더입니다. 저는 Psych Lab에서 데이터 입력을위한 데이터베이스를 만들고 있습니다. 현재 데이터베이스가 생성되었지만 중복 된 항목이 데이터베이스에 저장되는 것을 방지하고자합니다. 즉, 입력 한 직후 참여자 번호를 찾아 코드를 작성합니다. 나는이 코드를 꽤 오랫동안 고치려고 노력해 왔고, 나는 최근에 벽에 부딪쳤다. 참여자 x 호를 입력하면 올 Y 른 오류 메시지가 표시되지만 모든 x 호는 이미 입력되어 있다고 표시됩니다 (실제 x 호가 없더라도). 다음은 코드입니다.Access 데이터베이스에서 중복 항목을 방지하려면 어떻게합니까?
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를 사용한 적이 없으며 코드 작성법을 스스로 가르치고 있습니다.
제안 해 주셔서 감사합니다. 그러나 문제가 해결되지 않았습니다. 오류 메시지가 나타날 수 있지만 이미 입력했는지 여부에 관계없이 입력 한 모든 숫자에 대해 오류 메시지가 나타납니다. –
@BreannaWallbaum이 구문이 정확합니다. 데이터를 확인해야합니다 (숫자가 이미 입력 되었습니까 *?). 또한 필드 이름과 테이블 이름을 확인하십시오. –
필드 이름과 테이블 이름이 올바른지 나는 긍정적입니다. 나는 이미 그들을 점검했다. 번호는 이미 입력되지 않았고 문제가 있습니다. 방금 데이터베이스를 테스트하기 위해 임의의 데이터를 입력 했으므로 2 세트의 데이터 만 입력했기 때문에 알 수 있습니다. –