私はVBAで初めてのコーダーです。私はPsych Labでデータ入力用のデータベースを作成しています。現在データベースが作成されていますが、重複したエントリがデータベースに格納されないようにしたいのです(つまり、参加者番号が入力された直後に参加者番号を調べることによって)。私はかなり長い間、このコードを修正しようとしており、私は最近壁にヒットしました。参加者番号を入力すると正しいエラーメッセージが表示されますが、すべての番号が既に入力されていると表示されます(実際には入力していなくても)。コードは次のとおりです。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セットのデータしか入力しなかったので、わかります。 –