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
|