Unterformulare sperren und automatisch freigeben

Problem

In unserer Kundenverwaltung befindet sich ein Unterformular, über das Zusatzinformationen zum jeweiligen Kunden wie Telefonate, Besuche, Rabattabsprachen etc. erfasst werden können. Diese Informationen werden in einer zweiten Tabelle gespeichert, die Verknüpfung er folgt über die Kundennummer. Beim Anlegen neuer Kunden möchten wir sicherstellen, dass zunächst alle Basisdaten des Kunden erfasst sind, bevor Zusatzinformationen im Unterformular eingegeben werden können.

Wie kann man das am besten erreichen?

Lösung

Das Unterformular-Steuerelement verfügt wie andere Steuerelemente über eine Eigenschaft „Aktiviert“ (Enabled).

Diese Eigenschaft setzen Sie über die Ereignisprozedur „Beim Anzeigen“ bei neuen Datensätzen zunächst auf „Nein“ (False):

Private Sub Form_Current()
If Me.NewRecord Then
Me. UFoZusatz.Enabled = False
Else
Me. UFoZusatz.Enabled = True
End If
End Sub

Für die Ereignisprozeduren „Nach Aktualisierung der „Pflichtfelder“ (zum Bei – spiel „Firma“, „Strasse“, „Ort“) setzen Sie die folgende Überprüfung ein:

Private Sub Firma_AfterUpdate()
If Me.Firma <> „“ And Me.Strasse <> „“ And Me.Ort <> „“ Then
Me.UFoZusatz.Enabled = True
End If
End Sub

Diese Anweisungen schalten das Unterformular erst dann frei, wenn in allen drei „Pflichtfeldern“ Eingaben vorhanden sind.