Veteran
Beiträge: 293
Ort: München | Hallo Dirk,
hochlenert - 14.08.12 07:52
Hallo NG,
in meiner Abfrage muss das Kriterium zB. "1 der 2 oder 9" lauten und ich will dieses Kriterium über eine Variable setzen. Ich habe eine Tabelle angelegt, aus der ich dieses Kriterium auslese:
fctSenddatenstellen_regionen = DLookup("[Regionen]", "Datenstellen", "[Datenstelle] = '" & Forms![arj]![Datenstelle].Value & "'")
und in meine Abfrage einfüge. Der Teil der Abfrage sieht dann so aus:
...WHERE (((CDbl(IIf(IsNull([VRG])=True,99,[VRG])))=fctSenddatenstellen_regionen()) AND....
Wenn das Kriterium nur eine Position hat, also z.B. "1", dann funktioniert es. Wenn es aber mehrere Möglichkeiten beinhaltet, bleibt die Abfrage leer, weil anscheinend das "oder" nicht verstanden wird. Ich habe das mit "or" ersetzt, hat auch nicht geklappt. Jetzt bin ich etwas ratlos. Die Abfrage ist sehr groß, so dass ich die ungerne in SQL in einen VBA-Code integrieren würde, weil es doch sehr unübersichtlich wird. Hilfe!
Euer Dirk
entweder
WHERE (Feld1 = 1 OR Feld1 = 2 OR Feld1 = 9) AND ...
oder etwas einfacher
WHERE Feld1 IN(1,2,9) AND ...
----- Grüße aus München
Stefan |