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:
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
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
-> 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.