Wenn Sie bei einer Dateneingabe das letzte Feld in einem Formular mit der Tab-, Return– oder einer der Cursor– Tasten verlassen, springt Access normalerweise automatisch zum nächsten Datensatz. Vor allem bei weniger erfahrenen Anwendern kann dieses Verhalten zu Verwirrung führen.
Eine wenig bekannte Formular-Einstellung schafft Abhilfe: Mithilfe der Eigenschaft „Zyklus“ können Sie festlegen, wie sich der Cursor beim Verlassen des letzten Feldes verhält.
Die Standardeinstellung ist „Alle Datensätze“ und entspricht dem bekannten Verhalten: Der Cursor springt nach dem Verlassen des letzten Feldes in den folgenden Datensatz bzw. legt einen neuen Datensatz an. Die Einstellung „Aktueller Datensatz“ sorgt hingegen dafür, dass der Cursor nach dem Verlassen des letzten Feldes wieder zum ersten Feld des aktuellen Datensatzes springt. So lässt sich verhindern, dass Access unkontrolliert den Datensatz wechselt oder womöglich einen neuen, leeren Datensatz anlegt.
Für mehrseitige Formulare ist dabei die Einstellung „Aktuelle Seite“ sehr hilfreich: Sie verhindert das automatische Scrollen in den Seiten und setzt den Cursor nach Verlassen des letzten Feldes der aktuellen Formularseite wieder zurück in das erste Feld der aktuellen Formularseite.
Wenn sowohl weniger erfahrene als auch fortgeschrittene Anwender mit einer Datenbank arbeiten, empfiehlt es sich, den Zyklus standardmäßig auf „Aktueller Datensatz“ zu setzen, aber eine Umschaltmöglichkeit per Kontrollkästchen vorzusehen. Gehen Sie dazu wie folgt vor:
- Legen Sie im Formularfuß ein Kontrollkästchen „cbHalten“ an, dessen Beschriftung Sie auf „Cursor im Datensatz halten“ setzen.
- Geben Sie in der Ereignisprozedur „Beim Laden“ des Formulars die folgenden Anweisungen ein:
Private Sub Form_Load()
Me.cbHalten = True
Me.Cycle =
1 End Sub - Für die Ereignisprozedur „Nach Aktualisierung“ erfassen Sie:
Private Sub cbHalten_AfterUpdate()
If Me.cbHalten Then
Me.Cycle = 1
Else
Me.Cycle = 0
End If End Sub
Fortgeschrittene Anwender können nun bei Bedarf den „alten“ Zustand durch Deaktivierung des Kontrollkästchen wiederherstellen. Diese Lösung wird im Formular „Kunden“ der Beispieldatenbank demonstriert.