Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: lutschi83 am April 26, 2017, 11:43:18

Titel: Mehrere Filter auf Formular anwenden
Beitrag von: lutschi83 am April 26, 2017, 11:43:18
Hallo Leute,
ich habe folgendes Problem: Ich habe aus einer Tabelle ein geteiltes Formular "Overview" erstellt mit folgenden 3 Feldern: delivery_number, Distributor und delivery_note_date.
In diesem "Overview"-Formular sind hunderte Einträge, deshalb brauch ich eine Filteroption um nach bestimmten Sachen zu suchen.
Ich habe für die Filteroption 3 ungebundene Textfelder angelegt: txtdel_number, txtdistributor und txtdeldate. In diese Felder möchte ich dann meine Filterkriterien eintragen und über den Button "filter" die gewünschte Selektion erhalten. Dabei sollte es möglich sein entweder alle Felder zu füllen oder auch nur eines.
Ich hoffe ihr könnt mir weiterhelfen!
Vielen Dank schon einmal im Voraus!
Titel: Re: Mehrere Filter auf Formular anwenden
Beitrag von: Josef P. am April 26, 2017, 14:53:16
Hallo!

Du kannst als Reaktion auf den Button-Click den Formularfilter einstellen.
Den Filterstring setzt du dynamisch zusammen und lässt die nicht ausgefüllten Filterfelder weg.
Beim Erstellen des Filterausdrucks musst du den Datentyp beachten.

Kurzbeschreibung: SQL-Text für Filterbedingung (http://wiki.access-codelib.net/SQL-Text_f%C3%BCr_Filterbedingung)


Es gibt auch fertige "Frameworks", die dir diese Arbeit abnehmen.
Wenn du z. B. nach "Suchformular" oder "Filterformular" suchst, wirst du einige Beispiele finden.

Vor einiger Zeit erstellte ich ein Access-Add-In (ACLib-FilterForm-Wizard (http://wiki.access-codelib.net/ACLib-FilterForm-Wizard)), das Code zum Filtern in die Anwendung und das Filterformular einfügt. (Videos: Filter-Formular erstellen (http://access-codelib.net/videos/ACLib-FilterForm-Wizard/filter-formular-erstellen/), Filter-Formular erstellen - Filterelemente aus Datenquelle (http://access-codelib.net/videos/ACLib-FilterForm-Wizard/filter-formular-aus-datenquelle/))

mfg
Josef
Titel: Re: Mehrere Filter auf Formular anwenden
Beitrag von: Xoar am April 26, 2017, 17:02:01
Genial!
Titel: Re: Mehrere Filter auf Formular anwenden
Beitrag von: lutschi83 am April 27, 2017, 09:54:15
Ich habe hinbekommen, dass die einzelnen Filter für sich funktionieren, aber wie kann diese kombinieren?
[quote]Private Sub btn_filter_Click()
Me.Filter = "delivery_number Like '*" & Me!txtdel_number & "*'"
Me.Filter = "distributor Like '*" & Me!txtdistributor & "*'"
Me.Filter = "delivery_note_date Like '*" & Me!txtdeldate & "*'"
Me.FilterOn = True
End Sub[/quote]

Ich habe es mit "Or" oder "And" versucht, doch es funktioniert nicht.
Was muss ich ändern? Bitte helft mir....Danke!!!!
Titel: Re: Mehrere Filter auf Formular anwenden
Beitrag von: Wurliwurm am April 27, 2017, 10:56:57
Zitat von: lutschi83 am April 27, 2017, 09:54:15
Ich habe es mit "Or" oder "And" versucht, doch es funktioniert nicht.

Doch, das muß gehen. Die Filter auf die einzelnen Attribute müssen mit "AND" konkateniert werden.

Me.Filter = "delivery_number Like '*" & Me!txtdel_number & "*' AND distributor Like '*" & Me!txtdistributor & "*' AND delivery_note_date Like '*" & Me!txtdeldate & "*'"