Cursor setzen in Access-VBA

Hallo,

ich suche einen Befehl, mit dem ich VBA am Ende einer Prozedur anweisen kann, ein Steuerelement (ungebundene Textbox) zu markieren und den Cursor darin am Ende des vorliegenden Inhalts zu platzieren. Im Moment wird der gesamte Inhalt markiert und bei weiterer Eingabe überschrieben, wenn man nicht mit der Maus in das Feld hinter den Inhalt klickt.

Genau genommen handelt es sich bei der Textbox um eine Suchmaske, bei der nach jeder Aktualisierung ein Filter eingesetzt wird, der die angezeigten Datensätze auf die anhand des Feldinhalts gefilterten Daten reduziert. Nach zähem Ringen klappt das sogar, aber es ist immer noch nicht praktikabel, da nach jedem eingegebenen Buchstaben wie oben beschrieben geklickt werden muss. Der Code sieht folgendermaßen aus:

Private Sub txtSuche_Change()

'Aktualisieren
DoCmd.RunCommand acCmdSaveRecord
DoCmd.Requery „txtSuche“

'Eingabe in txtSuche als Variable sFilter erfassen
Dim sFilter As String
sFilter = txtSuche & „*“

‚txtName nach Eingabe filtern
Me.Filter = „txtName LIKE '“ + sFilter + "*‘"
Me.FilterOn = True

End Sub

Für jede Hilfe wäre ich sehr dankbar…

LG

Benjamin

Hallo,

füg eine solche Zeile am Ende des Codes ein:

Me!txtsuche.SelStart = 255

Hallo Benjamin,

ich suche einen Befehl, mit dem ich VBA am Ende einer Prozedur
anweisen kann, ein Steuerelement (ungebundene Textbox) zu
markieren und den Cursor darin am Ende des vorliegenden
Inhalts zu platzieren.

ok, die Antwort hat dir Franz ja schon gegeben :smile:

Der Code sieht folgendermaßen aus:

der Code sollte so geändert werden:

Private Sub txtSuche_Change()

-> NEU Private Sub txtSuche_dirty()
damit fällt das ENTER nach jedem Buchstaben weg :smile:

-> NEU 'überflüssig Dim sFilter As String 'Deklarationen immer oben

'Aktualisieren

-> NEU 'überflüssig DoCmd.RunCommand acCmdSaveRecord
-> NEU 'überflüssig DoCmd.Requery „txtSuche“

-> NEU 'überflüssig 'Eingabe in txtSuche als Variable sFilter erfassen
-> NEU 'überflüssig sFilter = txtSuche & „*“

'txtName nach Eingabe filtern

-> NEU Me.Filter = „[txtName] LIKE '“ & me.TxtSuche & „*’“
‚beim addieren von Strings immer >&+
Private Sub txtSuche_dirty()
Me.Filter = „[txtName] LIKE '“ & me.TxtSuche & "*‘"
Me.FilterOn = True
End Sub


BTW mit den PRE-Tags werden strukturierte Ansichten ^^ hier ermöglicht.
Hilfe dazu findest du im grauen Kasten unter diesem Eingabefeld.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Danke für die Tips! Jetzt klappt es!

LG

Benjamin