Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Mexi123 am Januar 07, 2013, 22:51:29

Titel: VBA Kriterium aus Abfrage herausnehmen
Beitrag von: Mexi123 am Januar 07, 2013, 22:51:29
Hallo zusammen,

ich habe in einem Modul mehrere Abfragen, welche alle ein Kriterium erhalten.

Nun möchte ich für Ausnahmefälle in einem anderen Modul die Abfragen ohne Kriterium verwenden.

Alle Abfragen noch einmal erstellen ohne Kriterium halte ich nicht für produktiv.

Gibt es eine Möglichkeit in VBA das Kriterium zu ignorieren?

Alternativ könnte man doch auch den SQL-String in VBA zu übernehmen und das Kriterium herauszunehmen. Weiss aber nicht, wie das funktioniert.

Jemand Tipps für mich?

Danke im voraus.

Gruß

Mex
Titel: Re: VBA Kriterium aus Abfrage herausnehmen
Beitrag von: Mexi123 am Januar 08, 2013, 13:23:07
Hallo,

hat keiner eine Idee?

Kann man den Code aus SQL einfach in VBA übernehmen oder muss ich etwas beachten?

Danke im voraus.

Gruß

Mex
Titel: Re: VBA Kriterium aus Abfrage herausnehmen
Beitrag von: Maxel am Januar 08, 2013, 13:39:31
Hallo,

das Kriterium in der Abfrage ist die WHERE-Bedingung. Du kannst die Position des Wortes WHERE innerhalb des SQL-Strings mit der Funktion Instr() ermitteln.

Anschließend nutzt Du die Funktion Left(), um alle Buchstaben links des Wortes WHERE zu erfassen - das ist dann Dein SQL-String ohne WHERE-Bedingung.

Nutze ggf. die Funktion Trim(), um Leerzeichen zu eleminieren.
Titel: Re: VBA Kriterium aus Abfrage herausnehmen
Beitrag von: bahasu am Januar 08, 2013, 15:11:28
Hi,

siehe Anhang.
Im Formular werden zuerst 3 A-Werte angezeigt. Nach Klicken auf den Button "Alles" werden auch andere Daten angezeigt.
Im VBA-Teil wird nicht die Abfrage, sondern die recordsource angepaßt. So bleibt die Abfrage unverändert.
Per instr wird wie oben beschrieben auf "where" geprüft. Zusätzlich wird auch auf "order" getestet.

Hoffe, dass das hilft.

Harald


[Anhang gelöscht durch Administrator]