Hi,
ich habe ein Formular mit einem Listenfeld, combobox und textfelder.
Die Auswahl der combobox aktiviert bzw. zeigt mir je nach Auswahl die dazugehörige textbox.
In dem textfeld gebe ich dann einen suchwert ein und das Listenfeld filtert mir die liste.
Soweit alles gut. Funktioniert alles einwandfrei.
Ich möchte aber wenn ich die combobox ändere das der textbox eintrag gelöscht wird ... das geht auch noch.. nur die Liste wird mir nicht aktualisiert. Also das alle Daten wieder angezeigt werden und kein Filter mehr besteht.
Habe schon einiges probiert wie lstBox. requery oder FilterOn=false und deverse andere möglichkeiten nur es funktioniert nicht.
Hab schon einiges gegoogelt aber irgendwie bekomme ich es nicht hin.
Kann mir jemand bitte einen Tip geben?
Mfg
Albert
Also ein ungebundene combobox filtert mir
Hallo,
zeige bitte den Code dazu, damit man sieht wie du das was bereits funktioniert umgesetzt hast.
Hallo Maggie,
danke für Deine Antwort.
Hier der Code der mir die txtboxen filtert. Einer davon die anderen sind genau gleich aufgebaut. Habe 5 davon.
Private Sub txtObjAdresse_AfterUpdate()
Dim strSuchbegriff As String
'Suchbegriff in Variable speichern
strSuchbegriff = Me!txtObjAdresse.Text
'Neue Datensatzherkunft zuweisen
Me!lstObjektListe.RowSource = "SELECT * FROM qryObjektListe " _
& "WHERE Obj_Adresse LIKE '" & strSuchbegriff & "*'"
'Inhalt des Listenfeldes aktualisieren
Me!lstObjektListe.Requery
End Sub
Hier der Code für die combobox
Private Sub cboObjAuswahl_AfterUpdate()
Select Case Me!cboObjAuswahl.Value
Case "Objektname"
Me!txtObjName.Visible = True
Me!lblObjName.Visible = True
Me!lblObjOrt.Visible = False
Me!txtObjOrt.Visible = False
Me!lblObjPlz.Visible = False
Me.txtObjPlz.Visible = False
Me!lblObjAdresse.Visible = False
Me.txtObjAdresse.Visible = False
Me!lblObjLand.Visible = False
Me.txtObjLand.Visible = False
Case "Ort"
Me!lblObjOrt.Visible = True
Me!txtObjOrt.Visible = True
Me!txtObjName.Visible = False
Me!lblObjName.Visible = False
Me!lblObjPlz.Visible = False
Me.txtObjPlz.Visible = False
Me!lblObjAdresse.Visible = False
Me.txtObjAdresse.Visible = False
Me!lblObjLand.Visible = False
Me.txtObjLand.Visible = False
End Select
End Sub
Auch bei dem oberen Code ist er noch etwas länger...
Mfg
Albert
ZitatIch möchte aber wenn ich die combobox ändere das der textbox eintrag gelöscht wird ... das geht auch noch
Davon ist in dem Code nichts zu sehen, doch genau an der Stelle kannst du dann auch die RowSource des Listenfeldes neu einstellen.
BTW:
- An Textfelder gebundene Bezeichnungsfelder werden automatisch zusammen mit den Textfeldern ein-/ausgeblendet.
- Bei Zuweisung der RowSource wird das Listen- oder Kombifeld automatisch aktualisiert, ein Requery wird da nicht gebraucht.
Hi Maggie,
tut mir leid ja das hab ich nur so gelöst
Private Sub cboObjAuswahl_Change()
Me!txtObjAdresse = ""
Me!txtObjLand = ""
Me!txtObjOrt = ""
Me!txtObjLand = ""
End Sub
Danke für die Info!!
Lg
Das könntest du aber auch ebensogut mit ins AfterUpdate-Ereignis packen.
Change tritt bei Eingabe jedes einzelnen Zeichens ein.
Im der After Update Event hab ich das Select Case für die textboxen.
Und hab nun darunter den Code aus dem changer Event eingegeben...
Ändert aber nichts..
Irgendwie ist hier noch der Hund begraben :)
Hast du denn auch die Neu-Zuweisung zur RowSource des Listenfeldes hinzugefügt?
Nein da liegt ja das Problem da ich ja mehrere RowSource Zuweisungen habe ja na textfeld..??
Tut mir leid aber ich steh da wohl etwas auf dem Schlauch.. :-[
Du willst doch bei Änderung des Kombifeldes das Textfeld/die Textfelder zum Suchen löschen, also musst du das Listenfeld wieder auf den Anfangszustand bringen, bspw. so:
Me!lstObjektListe.RowSource = "SELECT * FROM qryObjektListe "
Hi Maggie!
Super danke jetzt klappt es so wie es sein soll :)
Pff bin ich froh das Du mir geholfen hast !!!
Vielen Dank!!
LG
Albert