Hallo zusammen,
ich habe in meinem Formular zwei Filter:
Sub Wand1_Afterupdate ()
Me.Filter = nz(Me!Wand1,0) & " between WdMin and WdMax "
Me.FilterOn = True
End Sub
und
Sub D1_Afterupdate ()
Me.Filter = nz(Me!D1,0) & " between DMin and DMax "
Me.FilterOn = True
End Sub
Jeder der Filter funktioniert tadellos.
Mir war nur nicht bewusst, das nur immer einer der beiden ausgeführt wird.
Ich brauch aber beide.
Also habe ich versucht über eine Schaltfläche die Filter auszulösen.
Private Sub Befehl314_Click()
Me.Filter = Nz(Me!Wand1, 0) & " between WdMin and WdMax " UND Me.Filter = nz(Me!D1,0) & " between DMin and DMax "
Me.FilterOn = True
End Sub
Das funktioniert aber nicht. Es passiert nichts beim klicken.
Und wenn es dann irgendwann einmal funzen sollte brauche ich noch einen Code um die Filter wieder auszuschalten und wieder alle Datensätze zu zeigen.
Ich habe festgestellt, das es nicht durch löschen und aktualisieren klappt.
Für etwas Hilfe wäre ich dankbar.
Hallo Bernd,
Ohne Test
Me.Filter = Nz(Me!Wand1, 0) & " between WdMin and WdMax AND " & nz(Me!D1,0) & " between DMin and DMax"
gruss ekkehard
Danke sehr,
Klappt super...
Aber wie kann ich den/die Filter zurücksetzen?
Für eine erneute Suche ohne das Formular neu starten zu müssen?
Wenn du da noch einen Tip hättest...?!?!?
Hallo,
so:
Me.Filter = ""
Me.FilterOn = False
Hallo Bernd,
ZitatKlappt super...
Freut mich. Tu dir aber einen Gefallen und vergleiche deinen Ausdruck mit
meinem. Geht am einfachsten, wenn du dir den Filterstring im Direktfenster
(Strg-G) anschaust, dazu fügst du folgende Zeile in deinen Code ein
Debug.Print Nz(Me!Wand1, 0) & " between WdMin and WdMax " UND Me.Filter = nz(Me!D1,0) & " between DMin and DMax "
'bzw.
Debug.Print Nz(Me!Wand1, 0) & " between WdMin and WdMax AND " & nz(Me!D1,0) & " between DMin and DMax"Das Zusammensetzen von Strings ist ein fundamentales Werkzeug, das man
unbedingt beherrschen sollte. Hilfreich dabei könnte folgender Link sein
https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/ampersand-operator (https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/ampersand-operator)
Den Hinweis wegen zurücksetzen hatte ich vergessen, hat Klaus dir aber
gezeigt.
gruss ekkehard