Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Cursor ans Ende eines Textfeldes positionieren

Begonnen von DerSolide, Oktober 18, 2025, 13:04:08

⏪ vorheriges - nächstes ⏩

DerSolide

Hallo,

ich habe ein Formular mit 4 Textfeldern, in denen die Kenndaten eines Behälters eingegeben werden sowie die beiden Schaltflächen "Speichern" und "Abbrechen".

Jede der beiden Schaltflächen liefert mir nach Betätigung vorab eine Sicherheitsabfrage, ob wirklich gespeichert oder abgebrochen werden soll.

Problem:r
Wenn ich nun auf die Schaltfläche "Abbrechen" klicke und mir dann während der Sicheheitsabfrage einfällt, dass ich doch nicht abbrechen will, würde ich gerne an das Ende des zuletzt aktiven Textfelds springen.

An das Ende eines Textfeldes komme ich ja (hier beispielsweise für das Textfeld "txtSeriennummer" mit
 
' Textfeld "Seriennummer" auswählen
Me.txtSeriennummer.SetFocus
   
' Cursor an letzte Position im Textfeld "Seriennummer"
Me.txtSeriennummer.SelStart = Len(Nz(Me.txtSeriennummer.Text, ""))

Ich habe es zuerst mittels "ActiveControl" versucht, aber das war ein Eigentor weil das ja die Schaltfläche ist :-[.

Die einzige Möglichkeit die mir jetzt noch einfällt ist, dass ich mir über eine "Hilfsvariable (z.B. einen Aufzähltyp)" merke, in welches der Textfelder ich zuletzt etwas eingegeben habe und dann den o.a. Code über eine SELECT CASE-Anweisung namentlich für jedes Textfeld ausführe.

Das ist zwar für 4 Textfelder mit etwa Copy/Paste Arbeit schnell erledigt, aber eine "elegante Lösung" ist das natürlich nicht.

Hat jemand eventuelle eine Idee, wie man das besser Lösen kann?

Vielen Dank im Voraus,
Christian

Beaker s.a.

.PreviousControl dürfte hier das Zauberwort sein.
Bei solchen Problemen hilft auch der Blick auf das Objektmodell.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)