News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Eingabe in einem Access-Formular nach Feldaktivierung ermöglichen

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Wenn ich in einem Access-Formular in ein Feld springe, das schon Daten enthält, wird der gesamte Text markiert und durch eine sofortige Eingabe ersetzt. Ich möchte jedoch den Text ergänzen und sofort weiterschreiben - das funktioniert aber erst nach Mausklick an das Ende des Textes oder durch Betätigung von F2. Ich möchte jedoch sofort weiterschreiben, ohne F2 oder die Maus bedienen zu müssen - ist das möglich?

Diverse Anfragen

ANTWORT Das Verhalten bei Aktivierung eines Feldes können Sie in den Optionen, Bereich "Clienteinstellungen" bzw. "Erweitert", Abschnitt "Bearbeiten", unter "Cursorverhalten bei Eintritt in Feld" einstellen: Wählen Sie hier "Zum Ende des Feldes gehen". Diese Einstellungen gelten dann für alle Felder in allen Formularen.

Um diese Funktionalität per VBA nur für ein bestimmtes Feld zu erreichen, geben Sie in der Ereignisprozedur "Bei Fokuserhalt" des Feldes folgende Anweisungen ein:

With Me.Feldname
  .SetFocus
  .SelStart = 99999
  .SelLength = 0
End With

"Feldname" ersetzen Sie durch den Namen des gewünschten Feldes. Diese Anweisungen aktivieren das Feld, setzen den Cursor an das Ende des Textes und legen eine Länge von "0" für die Markierung fest, so dass Sie sofort Eingaben vornehmen können. Für das Setzen des Cursors an das Ende des Textes geben wir eine Zeichenposition "99999" an, die in der Regel nicht vorhanden ist - dadurch korrigiert Access die Position automatisch auf das letzte Zeichen und man kann sich die Abfrage der Länge des aktuellen Textes sparen.