Ich kämpfe mit der IF in der WHERE-Anweisung. Meine Zugriffsabfrage verwendet einen Parameter. Die WHERE-Anweisung sollte nur ausgeführt werden, wenn der Parameter einen Wert hat, andernfalls sollte er ignoriert werden. Das ist es, was ich jetzt:Wenn in WHERE-Anweisung zu viele Datensätze ausschließt (Access)
PARAMETERS varMachineID Text (25);
SELECT RequestNumber
FROM Requests
WHERE (MachineID=IIf([varMachineID]<>"",[varMachineID],MachineID));
Diese Aussage sollte gut funktionieren. Die Tabelle kann jedoch auch Datensätze mit einer leeren MachineID enthalten. Mit dieser WHERE-Anweisung werden diese Datensätze jetzt von der Abfrage ausgeschlossen. Dies sollte nicht passieren. Ich habe versucht, eine OR-Anweisung in der ELSE, aber dann wird die Abfrage zu komplex zu handhaben.
Hoffe jemand hat eine Lösung für mich.
Danke.
ps. Dies ist ein abgespecktes Beispiel, die Abfrage, die ich habe, enthält mehr Parameter und mehr Bedingungen in der WHERE-Anweisung.
Manchmal kann die Lösung so einfach sein. Vielen Dank! – Karin