Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

CASE-Anweisung

Begonnen von helli, August 21, 2024, 13:59:18

⏪ vorheriges - nächstes ⏩

helli

Hallo,

ich habe folgende Aufgabenstellung:
In einer SQL-Anweisung werden Werte aus 3 Eingabefeldern (Vorname, Name, Geburtsdatum) verarbeitet. Das klappt auch sehr gut:

SELECT *
FROM tab_Papierfälle
WHERE Vorname=Forms!Aktensuche!Text_Vname
AND Name=Forms!Aktensuche!Text_Nname
AND GebDatum=Forms!Aktensuche!Text_GebDatum;


Jetzt ist es aber so, dass es auch möglich sein soll in nur 2 der Eingabefelder eine Eingabe machen zu müssen und das Dritte leerzulassen. Im vorliegenden Fall wird nichts gefunden da es keine unvollständigen Datensätze gibt und es auch nicht das Ziel sein soll solche zu finden. Es soll sich einfach so verhalten als ob in der SQL-Anweisung nur 2 Eingabefelder abgefragt werden.
Oder anders gesagt: Ist ein Eingabefeld leer dann dann soll für dieses alles Vorhandene ausgegeben werden. Ich habe dafür CASE gefunden das ich bisher nicht kannte: "https://www.w3schools.com/sql/sql_case.asp" Ich weiß auch nicht ob das überhaupt geht. Folgendes habe ich probiert:

CASE
WHEN Vorname=Forms!Aktensuche!Text_Vname = '' THEN Vorname LIKE '*'
ELSE Vorname=Forms!Aktensuche!Text_Vname
END

Die Fehlermeldung die ich bekomme ist: Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Vorname=Forms!Aktensuche!Text_Vname'

Kann mir da jemand weiterhelfen?
LG

PhilS

Zitat von: helli am August 21, 2024, 13:59:18Ich habe dafür CASE gefunden das ich bisher nicht kannte: "https://www.w3schools.com/sql/sql_case.asp" Ich weiß auch nicht ob das überhaupt geht.
CASE wird von Access/Jet/ACE-SQL nicht unterstützt.
Du kannst einige der Einsatzbereiche von CASE in Access mit den Funktionen Iif, Choose und Switch abdecken. Für dein einfaches Beispiel sollte Iif bereits ausreichend sein.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor