2016-06-21 15 views
0

ich meine Arbeit Makro zu VBA-Skript umgewandelt (auch arbeiten) in Microsoft Access 2010:Access-VBA - Filter anwenden - Mehrere OR Bedingungen

DoCmd.ApplyFilter "", "[Forename] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*""", "" 

ich die gleiche Formatierung verwendet (glaube ich), dies zu versuchen und erweitern Filter mit mehreren Feldern zu arbeiten, auch wenn es nicht funktioniert:

DoCmd.ApplyFilter "", "[Forename] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*"" Or [Surname] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*""", "" 

Dies ist, was ich damit meine nicht funktioniert: Wenn meine Daten: [Vorname] [Nachname] alex Bobs chris Dekan

dann die Eingabe, zum Beispiel "alex" oder "a", filtert die Ergebnisse überhaupt nicht. Auf der anderen Seite beschränkt der Code mit nur einem Filter die Daten.

+0

Gibt es eine Fehlermeldung? Was meinst du mit "funktioniert nicht"? –

+0

Keine Fehlermeldung. Das ist, was ich meine, funktioniert nicht: Wenn meine Daten sind: Vornamen: Alex, Chris | Nachnamen: Bobs, Dekan dann Typisierung, zum Beispiel "alex" oder "a", filtert die Ergebnisse überhaupt nicht. Auf der anderen Seite beschränkt der Code mit nur einem Filter die Daten. – Idios

Antwort

3

Sie könnten eine alternative Methode der Anwendung eines Filters versuchen:

me.filter = "[forename] like '*" & Me.StaffTotalSearchText & "*'" & _ 
" OR [surname] like '*" & Me.StaffTotalSearchText & "*'" 
me.filter =true 

EDIT

Wie @Andre kommentiert hat, habe ich Sie (Apostrophe) verwendet, um meine Saiten einzukapseln. Ihr VBA sollte mit der folgenden Änderung arbeiten:

DoCmd.ApplyFilter "", "[Forename] Like '*" & _ 
    [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'" & _ 
    " Or [Surname] Like '*" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'" 
+0

Der Schlüssel verwendet einfache Anführungszeichen als Kriterientrennzeichen, diese Filterzeichenfolge sollte auch mit 'DoCmd.ApplyFilter' funktionieren. @Idios – Andre

+0

Die zweite vorgeschlagene Methode arbeitete wie ein Charme. Vielen Dank, Andre und Liam! – Idios