2016-07-27 21 views
1

Ich filtere ein Formular namens sfrWorklistFilter aus einem Kombinationsfeld namens cboOpeningType. Die Recordsource stammt aus einer eingebetteten Abfrage in dem Formular. Wenn ich eine Auswahl aus dem Kombinationsfeld zu machen funktioniert der Filter gut mit dem folgenden Code:Access Query Parameter Filtering Form

Forms![sfrWorklistFilter]![cboOpeningType] 

aber ich brauche alle Datensätze zurück, wenn keine Auswahl getroffen wird, in dem Fall, dass ich den folgenden Code:

Like Forms![sfrWorklistFilter]![cboOpeningType] & "*" 

Der Filter gibt dann keine genauen Übereinstimmungen, sondern alle Datensätze, die mit dem Buchstaben im Kombinationsfeld beginnen.

Ich brauche genaue Übereinstimmungen für den Datensatz oder wenn keine Auswahl alle Datensätze vorgenommen wird.

Irgendwelche Vorschläge?

+0

Confused sucht mit der anderen Feld/Combobox gleiche tun? Wenn keine Auswahl getroffen wird, warum sollte das Kombinationsfeld einen Buchstaben ausgewählt haben? – dbmitch

+0

Ich denke, ich sehe jetzt, was du meinst - yiu're versuchen, eine feste Filter-Eigenschaft festlegen - nicht in VBA-Code des Ereignisses cboOpeningType AfterUpdate, richtig? – dbmitch

+0

@dbmitch Sie sind richtig Ich setze keine Filtereigenschaft in VBA. Ich habe versucht, die SQL innerhalb der eingebetteten Abfrage des Formulars mit dem Wert des Kombinationsfelds festzulegen. Ich habe drei Kombinationsfelder und versuche, drei Felder nach ihrem Wert zu filtern. Wenn ich keinen Wert eingabe, möchte ich alle Datensätze dieses Feldes zurückgeben. Die Zeilenquelle des Kombinationsfelds gibt eine einzelne Buchstabenauswahl als einen der Werte an. Wenn dieser Buchstabe ausgewählt ist, werden alle Datensätze ausgewählt, die mit diesem Buchstaben beginnen. Wenn nichts in der Combobox ist, bekomme ich überhaupt keine Ergebnisse. –

Antwort

1

EDIT entfernen doppelte Anführungszeichen

Dies sollte funktionieren - und Sie können

Like IIf([Forms]![sfrWorklistFilter]![cboOpeningType]<>"",[Forms]![sfrWorklistFilter]![cboOpeningType],"*")