Hi,
hab auch schon hier gestöbert leider einiges aber nichts passendes für meine Situation gefunden.
Irgendwie bekomme ich den filter nicht zum laufen :(
Ich habe ein endlosformular subfrmKontaktListe erstellt.
In einem HF habe ich ein txtKontaktSuche eingefügt und würde nun gern das Feld KontaktName im Endlosformular
im Ereignis beim Ändern filtern.
Hoffe jemand könnte mir helfen!
Vielen Dank
Albert
Hallo Albert,
Schreibst du ins Ereignis 'Nach Aktualisierung' des Textfeldes am HF:
Private Sub txtKontaktSuche_AfterUpdate()
If Not IsNull(Me.txtKontaktSuche)Then
Me.Filter = "[KontaktName]='" & Me.txtKontaktSuche & "*'"
Me![subfrmKontaktListe].Form.Filter = Me.Filter
Me![subfrm<kontaktListe].Form.FilterOn
End If
End Sub
oder lt. MS...:
Private Sub txtFilter_AfterUpdate()
Dim f_sub As Form
Dim strCriteria As String
strCriteria = "KontaktName='" & Me!txtKontaktSuche & "*'"
Set f_sub = Me![subfrmKontaktListe].Form
f_sub.Filter = strCriteria
f_sub.FilterOn = True
End Sub
HTH
Servus Peter,
vielen Dank erstmal für Deine Hilfe!!
Hab Deine Codes probiert nun leider wieder mal das es bei mir nicht funktioniert :(
Der erste Code von Dir bleibt bei der letzten Zeile stehen. Me![subfrmKontaktListe].Form.FilterOn
Objekt nicht gefunden!?
Der zweite Code filtert ohne Problem in VBA aber da zeigt es mir immer nur einen leeren Datensatz.
Egal was ich im textfeld auswähle :(
Kann das wieder sein das bei mir ein Verweis nicht angeklickt ist?
Die gleichen Verweise wie schon mit Dir besprochen sind in meiner Verweis liste enthalten.
Vielleicht weist Du was da noch falsch sein kann!?
Dankeschön
Albert
Hallo Leute,
ich bekomme es leider einfach nicht hin!
Das Unterformular ist auf basis einer Abfrage.
Nun weis ich nicht ob ich in der Abfrage als Kriterium das textfeld angeben muss.
Hab ich auch schon probiert aber irgendwie bekomme ich es nicht zum laufen :(
Hab nun auch noch einen button ins HF gefügt der die Auswahl dann filtern soll. "Wenn nötig??"
Hoffe jemand kann mir noch mal unter die Arme greifen :)
Schöne grüße
Albert
Hallo Albert,
hast du den Code oben kopiert?
wenn ja musst du eine kleine Änderung machen ... ich hab' da einen Tippfehler drin.
Me![subfrm<KontaktListe].Form.FilterOn
soll heißen
Me![subfrmKontaktListe].Form.FilterOn
und nimm bitte auch an der Stelle .... Me.txtKontaktSuche & "*'" .... den Stern raus (sonst musst du statt = LIKE schreiben)
Sonst schau mal bitte nach, ob das UFo-Steuerelement auch wirklich ... subfrmKontaktListe im Formularentwurf heißt.
Besteht das Formular schon in der letzten DB-Version .... dann kann ich mir das zu Hause anschauen.
Hallo Peter,
danke wieder für Deine Antwort!
Ich hab eigentlich auch schon alles geändert wie Du gerade geschrieben hast!
Private Sub txtKonName_AfterUpdate()
If Not IsNull(Me.txtKonName) Then
Me.Filter = "[KontaktName]='" & Me.txtKonName & "'"
Me![KontaktListe].Form.Filter = Me.Filter
Me![KontaktListe].Form.FilterOn
End If
End Sub
So ist der Code den ich abgeändert habe hab auch die txtFeld name gändert.
Das Uf hat den namen KontaktListe und ist auf einer basis einer Abfrage erstellt.
Das ander vielleicht noch wissenswerte ist das KonName ein Ausdruck in der Abfrage ist!
Also eine Zusammensetzung von
KontaktName: Wenn([Kon_Firma]<>"";[Kon_Firma];[Kon_Vorname] & " " & [Kon_Nachname])
Diesen KontaktNamen würde ich gerne filtern mit einem textfeld.
txtKonName
Habe aber in der Abfrage nun keinen FilterKriterium angegeben!?
Also wie sonst mit forms!frmirgendwas!txtsoundso
Hab eigentlich jetzt schon einiges Probiert und auch gelesen aber komme einfach nicht dahinter wie es funktioniert :(
Schöne Grüße
Albert
Hallo Albert,
ich habe auf deiner MusterDB ein UF (Endlosform) erstellt und dieses in ein leeres Formule eingebaut.
Ein Textfeld namens 'txtKontaktSuche' befindet sich im HF
mit dem untenstehenden Code filtert das Ding so wie es sei soll
Bitte beachte, dass die Feldbezeichnungen und der Name des UF ev. von deinen Gegebenheiten abweichen kann
Private Sub txtKontaktSuche_AfterUpdate()
If Not IsNull(Me.txtKontaktSuche) Then
Me.Filter = "[KontaktName] LIKE '*" & Me.txtKontaktSuche & "*'"
Me![subfrmKontaktListe].Form.Filter = Me.Filter
Me![subfrmKontaktListe].Form.FilterOn = True
End If
End Sub
Durch die Verwendung von LIKE und den beiden Sternen vor und nach dem Textfeldinhalt filtert das Ding auch dann richtig, wenn ein Filterkriterium nicht vollständig eingegeben wird.
Die Datenherkunft des UF ist eine Abfrage auf die tblKontakte mit einem Zusammenfassungsfeld 'KontName' nach deiner Angabe.
HTH
Guten Morgen Peter,
ach wenn ich Dich nicht hätte ;D
Vielen Dank alles super jetzt läuft das Ding!!!
Muss nur noch einen weg finden den Filter zurück zusetzen dann ist alles perfekt!!
Ach hab ich grad erledigt mit einem button und dann filterOn = false gesetzt und jo es funktioniert ::)
Ich liebe wenn ein Code funktioniert ;D
Schönen Tag wünsch ich Dir!
Albert
Eine interessante Lösung. Mal ein Danke an database.
Ich lasse den Filter über einen button wieder aufheben.
Hallo,
bitte nicht auf so jahre alte Beiträge antworten, danke.
Gruß Andreas