Hi,
Ich habe ein (Endlos-)Formular mit dem ich Daten in eine Tabelle eingebe. (Eigenschaft "Daten Eingeben" = 1)
Jetzt möchte ich bei Eingabe der Benutzerdaten bestimmte Randbedingungen prüfen. Das kann ich leider nicht mit Formatierungen erschlagen, sondern es geht um eine Plausibilitätsanalyse. Dazu brauche ich einen Aufruf an VBA und das ist mein Problem.
Ich bräuchte ein Ereignis, dass bei anlegen des neuen Datensatzes ausgeführt wird. Wie würdet ihr sowas machen?
Lg, sam
Hallo sam,
so etwas kann (wie fast immer) in verschiedener Weise geregelt werden.
1. Zunächst kann mit Gültigkeitsregel in den Tabellen bzw. den Formularen gearbeitet werden. In den Formularen kann in den Steuerelementen auch mit Funktionen gearbeitet werden (im Gegensatz zu den Regeln in den Tabellen)
2. Es kann im Formular für jedes Steuerelement eine Prüfung vollzogen werden, es wird also die Validierung direkt bei der Eingabe vollzogen:
Private Sub Ort_BeforeUpdate(Cancel As Integer)
If Len(Me!Ort) >= 100 Then
MsgBox "es gibt kein Ort mit solch langen Namen"
Cancel = True
Exit Sub
End If
End Sub
So kann jedes Feld mit einer oder mehreren Bedingung geprüft werden.
3. Kontrolle vor dem Speichrn des Datensatzes:
Private Sub Form_BeforeUpdate (Cancel as Integer)
...
If Len(Me!Ort) >= 100 Then
MsgBox "es gibt kein Ort mit solch langen Namen"
Me!Ort.SetFocus
Cancel = True
End If
...
End Sub
Hierbei werden vor dem Speichern bestimmte Felder geprüft. Natürlich gibt es noch eine Reihe von weiteren Möglichkeiten und Sonderformen, aber evt. kommst du ja schon mit den genannten aus.
Gruß Oma