Nach Eingabe auf doppelten Schlüsselwert prüfen

Zur Eingabe in meine Datenbank nutze ich Formulare. Das erste Eingabefeld speichert den Primärschlüssel. Ist es möglich, dass Access gleich bei Eingabe in dieses Feld auf einen doppelten Wert prüft?

Eine VBA-Prozedur kann nach Eingabe des Schlüsselwerts in der Tabelle nach einem Datensatz mit demselben Schlüssel suchen und gibt im Konfliktfall eine Meldung aus.

Öffnen Sie Ihr Formular in der Entwurfsansicht, klicken Sie mit der rechten Maustaste auf das Feld des Primärschlüssels und rufen Sie die »Eigenschaften« auf. Unter »Ereignis« klicken Sie auf die Schaltfläche neben »Vor Aktualisierung«. Wählen Sie den »Code-Editor« und bestätigen Sie mit »OK«. Access legt eine leere Prozedur an, in die Sie den VBA-Code schreiben. Sie finden ihn im Kasten oder auf der Heft-CD: CHIP-Code FLDPRUEF. Sie müssen ihn nur noch abstimmen. Der Quelltext geht von der Tabelle »Namen« aus, deren Feld »Nachname« als Primärschlüssel dient. Das Eingabefeld trägt den Namen »EingabeNachname«; der Quelltext verweist mit »Me![EingabeNachname]« auf dieses Feld.



Private Sub
EingabeNachname_BeforeUpdate
(Cancel As Integer)
Dim dbs As Database
Dim rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(äNamenô, dbOpenDynaset)
rst.FindFirst ä[Nachname]= æä & Me![EingabeNachname] & äæä
If Not rst.NoMatch Then
MsgBox äDieser Wert ist bereits vergeben! Bitte wählen Sie einen anderen...ô
End If
rst.Close
Set dbs = Nothing
End Sub