Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formularfilter nach Zeitraum und weiteren Kriterien

Begonnen von AndiHo, Mai 25, 2016, 09:24:35

⏪ vorheriges - nächstes ⏩

AndiHo

Guten Morgen Zusammen,
hoffe jemand kann mir helfen wo der Fehler liegt, ich bin langsam am verzweifeln.

Ich habe ein Endlosformular mit Daten wie Datum, Lieferant (Textfeld), Produktname (Textfeld), Menge usw.
Nun möchte ich Filtermöglichkeiten einbauen, bei denen ich dann nach Zeitraum, Lieferant und Produktname filtern kann - natürlich auch die Möglichkeit, dass man z. b. nur nach Zeitraum und Lieferant filtert und der Prokutname offen bleibt.
Einzeln und unabhängig voneinander funktionieren die Filtermöglichkeiten sehr gut, aber wenn ich diese dann zusammen in einem Code unterbringe, kommt ständig Laufzeitfehler 3075 - Syntaxfehler (fehlender Operator)....

hier mal mein Code im Vba, der mir ständig den Fehler auslöst:
Me.Filter = "[Datum] between " & Format(Nz(Me!txtVON, Date), "\#yyyy-mm-dd\#") & " and " & Format(Nz(Me!txtBIS, Date), "\#yyyy-mm-dd\#") & " and " & "lieferant like'" & Nz(Me!cboLieferant, "*")  & "'" & " AND Produktname Like '" & Nz(Me!cboProduktname, "*")  & "'"

ich hoffe mir kann jemand helfen.

vielen dank im voraus

MzKlMu

Hallo,
das hängt möglicherweise an dem Kombi (cboLieferant).
Wie lautet die Datenherkunft (Abfrage) dieses Kombis?
Zeigt das Kombi mehrere Spalten an ?
Gruß Klaus

AndiHo

Hallo,
hab hier mal die Herkunft des Kombifeldes:

SELECT tblWiegeprotokolle.Lieferant FROM tblWiegeprotokolle GROUP BY tblWiegeprotokolle.Lieferant;

MaggieMay

Hallo,

da fehlt ein Leerzeichen nach dem ersten LIKE.

Und dann lass dir doch den generierten Filter erstmal per MsgBox oder Debug.Print anzeigen ehe du ihn einsetzt.
Freundliche Grüße
MaggieMay

AndiHo

Hallo MaggieMay,
danke für deine Antwort, das Leerzeichen nach dem Like hab ich eingefügt.
und bei der Anzeige bei im VBA Direktbereich versteh ich nur Bahnhof. Hab mal Ergebnis hier angefügt.
Ist es das was du mit dem Debug.Print meintest?

MaggieMay

Freundliche Grüße
MaggieMay

AndiHo

ups, entschuldigung.

hier das Ergebnis, des Direktbereichs.

Debug.Print Me.Filter
[Datum] between and and lieferant like 'HCH Agrarservice GmbH' AND Produktname Like 'Gras'

MaggieMay

Das sieht so aus als wären die Datumsfelder leer, aber nicht NULL.
Wie kommt es dazu? Leerst du sie evtl. per VBA? Oder wie/wodurch werden sie gefüllt?

BTW:
Die Suche mit LIKE macht nur Sinn, wenn Suchmuster zum Einsatz kommen.
Andernfalls sollte der Vergleich mit "=" verwendet werden.
Freundliche Grüße
MaggieMay

MaggieMay

Hallo,

es macht wenig Sinn zwei Foren gleichzeitig damit zu beschäftigen:
Formularfilter nach Zeitraum und weiteren Kriterien
daher stelle ich meinen Support an dieser Stelle ein.
Freundliche Grüße
MaggieMay