Januar 20, 2021, 15:15:03

Neuigkeiten:

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


IN Operator mit "Wenn-Dann" kombinieren

Begonnen von Lightfood, Dezember 21, 2020, 10:17:59

⏪ vorheriges - nächstes ⏩

Lightfood

Dezember 21, 2020, 10:17:59 Letzte Bearbeitung: Dezember 21, 2020, 11:34:17 von Lightfood
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.

DF6GL

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.

ebs17

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
Mit freundlichem Glück Auf!

Eberhard

PhilS

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)
    )
;
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!