Tipps "n" Tricks
Anwender-Software - Access

Last Update: 24. Dezember 2001/Webmaster

Eingabe im Formular erzwingen

Thema:

Access 97, 2000 und 2002

Problem:

Wie muss ich in einem Formular die Gültigkeitsregel für ein Feld/Steuerelement formulieren, so dass "Null" und "Leere Zeichenfolge" nicht möglich sind, der Anwender sich also nicht um eine Eingabe "drücken" kann?

Lösung:

Gültigkeitsregeln sollen sicherstellen, dass in Felder nur bestimmte Werte eingegeben werden können - das setzt voraus, dass überhaupt eine Eingabe erfolgt, die Access prüfen kann. Für Fälle wie den oben geschilderten, hat Microsoft eine spezielle Eigenschaft vorgesehen:
  1. Öffnen Sie die Tabelle, die dem betreffenden Formular zugrunde liegt, im Entwurfsmodus.
  2. Markieren Sie das betreffende Feld und setzen Sie dessen Eigenschaft "Eingabe erforderlich" auf "Ja".
  3. Speichern Sie den Tabellenentwurf.
Wenn nun im betreffenden Formular ein neuer Datensatz angelegt und gespeichert werden soll, ohne dass in das Feld etwas eingegeben wurde, zeigt Access eine entsprechende Fehlermeldung an und verweigert die Speicherung des neuen Datensatzes.

Möchten Sie in solchen Situationen eine eigene Fehlermeldung anzeigen, gehen Sie wie folgt vor:
  1. Öffnen Sie das betreffende Formular im Entwurfsmodus.
  2. Stellen Sie dessen Eigenschaft "Vor Aktualisierung" auf "[Ereignisprozedur]" ein und klicken Sie auf die Schaltfläche mit den drei kleinen Punkten dahinter.
  3. Geben Sie im VBA-Editor die folgenden Anweisungen ein (ersetzen Sie dabei "Kontaktperson" durch den Namen des zu prüfenden Feldes):
Private Sub Form_BeforeUpdate(Cancel As Integer)

  If IsNull(Me.Kontaktperson) Or _
  IsEmpty(Me.Kontaktperson) Then
    Beep
    MsgBox "Bitte Daten in das Feld " & _
    "'Kontaktperson' eingeben!"
    Cancel = True
    Me.Kontaktperson.SetFocus
  End If

End Sub


Speichern Sie anschliessend den Formularentwurf. Soll nun ein neuer Datensatz angelegt und gespeichert werden, wird zunächst die oben gezeigte Ereignisprozedur ausgeführt. Sie prüft, ob das betreffende Feld NULL oder LEER ist. Trifft eines von beiden zu, wird eine entsprechende Meldung angezeigt, die Speicherung des Datensatzes über "Cancel = True" verweigert und der Fokus auf das Textfeld gesetzt.

 

Tipps "n" Tricks
Anwender-Software - Access