Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: jagger am Juni 20, 2019, 12:01:09

Titel: Ist Null als Kriterium in Wenn/dann Abfrage
Beitrag von: jagger am Juni 20, 2019, 12:01:09
Guten Tag,

die Abfrage: SELECT qry_TUB_gruppiert_02.AGKDNR, qry_TUB_gruppiert_02.Suchname
FROM qry_TUB_gruppiert_02, tab_intex_TUB_Filter_code
WHERE (((qry_TUB_gruppiert_02.Kollcode) Is Null));

funktioniert. Alle Datensätze werden angezeigt.
Wenn ich aber das "Ist Null" als Kriterium in einer Wenn/dann-Abfrage nutze:
SELECT qry_TUB_gruppiert_02.AGKDNR, qry_TUB_gruppiert_02.Suchname
FROM qry_TUB_gruppiert_02, tab_intex_TUB_Filter_code
WHERE (((qry_TUB_gruppiert_02.Kollcode) Like IIf([Formulare]![frm_Terminuebersicht]![txtKollcode]=1,"IstNull",[tab_intex_TUB_Filter_code]![code])));

werden keine Daten angezeigt. Was mache ich falsch?
Wie muss ich das schreiben?
Das "IstNull" kommt vom Editor.
IIf([Formulare]![frm_Terminuebersicht]![txtKollcode]=1,"IstNull",[tab_intex_TUB_Filter_code]!...))) macht auch, was es soll.

Ja, und ich weiss, dass man sich bei Abfragen nicht auf Textfelder in Formularen beziehen soll. ;-)

Hat jemand bitte einen Tipp?

Mit Dank im Voraus
jagger
Titel: Re: Ist Null als Kriterium in Wenn/dann Abfrage
Beitrag von: PhilS am Juni 20, 2019, 13:08:11
Der Text "IstNull" wird niemals zu dem Ausdruck IS NULL. - Egal wie du es drehst und wendest.
Du musst diesen Teil der Kriterien in zwei verschiedene Blöcke aufteilen.

SELECT qry_TUB_gruppiert_02.AGKDNR, qry_TUB_gruppiert_02.Suchname
FROM qry_TUB_gruppiert_02, tab_intex_TUB_Filter_code
WHERE ([Formulare]![frm_Terminuebersicht]![txtKollcode]<>1
        AND qry_TUB_gruppiert_02.Kollcode LIKE [tab_intex_TUB_Filter_code]![code])
    OR ([Formulare]![frm_Terminuebersicht]![txtKollcode]=1
        AND qry_TUB_gruppiert_02.Kollcode IS NULL)

Titel: Re: Ist Null als Kriterium in Wenn/dann Abfrage
Beitrag von: jagger am Juni 20, 2019, 14:07:07
Hallo PhilS,

OMG! Da wäre ich nie drauf gekommen.
Mit "*" funktioniert das nämlich.
Zum Beispiel:
Wie Wenn([Formulare]![frm_Terminuebersicht]![txtTermingrund]<>"*";[tab_intex_TUB_Filter_Termingrund]![Termingrund];"*")

Vielen Dank!

LG
jagger