Hallo Zusammen!
Ich habe eine Frage zum IN Operator, den ich via Kriterien in einer Abfrage verwende. So sieht das SQL-Statement aus:
SELECT tblProdukte.Nr
FROM tblProdukte
WHERE tblProdukte.Nr In (1,2);
Ich würde diesen Filter gerne insofern erweitern, als dass er für den Fall, dass es keine Produkte mit den Produktnummern 1 und 2 gibt, die Produkte mit den Nummern 3 und 4 angezeigt werden. Es geht also irgendwie in die Richtung "Wenn-Dann", wenn ich es richtig verstehe. Nur weiß ich nicht, wie ich das in der Access-Abfrage als Kriterium schreiben müsste.
Könnte mir vielleicht jemand dabei helfen und mir sagen, wie ich eine solche Anweisung in das Kriterien-Feld meiner Access-Abfrage schreiben müsste (wenn das überhaupt geht)?
Herzlichen Dank im Voraus!
L.
Hallo,
bevor solche Wenn/Dann-Konstruktionen angewendet werden (was in den meisten Fällen auf falschen Tabellenaufbau hinweist), erkläre bitte zunächst den tieferen Grund der Vorgehensweise und den Sinn dieser "Magic-Number"s.
Zeige zudem einen Screenshot des Beziehungsfensters mit allen beteiligten Tabellen und deren kompletten Feldern.
Zitatin das Kriterien-Feld meiner Access-Abfrage schreiben müsste
Das bekommt man nicht zusammen. Muss man auch nicht, wenn man sich zuerst um eine einfache Verarbeitungslogik bemüht statt eine bestimmte durchdrücken zu wollen.
Ansatz:
SELECT TOP 1 Nr
FROM tblProdukte
WHERE Nr In (1, 2, 3, 4)
ORDER BY Nr
Zitat von: Lightfood am Dezember 21, 2020, 10:17:59Ich würde diesen Filter gerne insofern erweitern, als dass er für den Fall, dass es keine Produkte mit den Produktnummern 1 und 2 gibt, die Produkte mit den Nummern 3 und 4 angezeigt werden.
SELECT tblProdukte.Nr
FROM tblProdukte
WHERE tblProdukte.Nr In (1,2)
OR (tblProdukte.Nr In (3,4)
AND NOT EXISTS (SELECT 'x'
FROM tblProdukte
WHERE tblProdukte.Nr In (1,2)
)
;