Null als parameter für Query?

Alle Themen rund um die Erstellung von Programmen
Antworten
satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Null als parameter für Query?

Beitrag von satmax »

Ich möchte einem Query fallweise SQL Null als Parameter übergeben.

Funktioniert nicht: QRY_xy.PARAM_Sub = Null

Ergibt einen Laufzeitfehler QRY_xy.PARAM_Sub..Null = True


Im query steht dann:
WHERE a._ID = {PARAM_KundenID} -
AND Sub = {PARAM_Sub} // Hier muss fallweise IS NULL rein

Achja, ich verwende MS SQL.

satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: Null als parameter für Query?

Beitrag von satmax »

Konnte es wie folgt lösen:
WHERE a._ID = {PARAM_KundenID} -
AND ISNULL(Sub,0) = {PARAM_Sub} // Ist sub NULL wird 0 zurückgegeben.

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: Null als parameter für Query?

Beitrag von Herbert »

Verstehe nicht ganz.
Wo erstellst du den Query? AusWindev? Falls ja, dann isst es doch so, dass ein nicht definierter Parameteer immer Null ist und nicht beachtet wird beim Ausführen.
Oder sehe ich da etwas falsch?

satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: Null als parameter für Query?

Beitrag von satmax »

Ich möchte alle Records wo das Feld NULL ist, aber nur diese. das Query ist ein gespeichertes Query.

Where Feld is null

Ein ander mal

where Feld=4711

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: Null als parameter für Query?

Beitrag von Herbert »

Ach so, du willst wissen, ob in der Tabelle der Wert=null ist....

satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: Null als parameter für Query?

Beitrag von satmax »

Ja, einmal kommt als Parameter 4711, einmal eben Null:

Im Query steht dann:
..
WHERE a._ID = {PARAM_KundenID} -
AND Sub = {PARAM_Sub} // {PARAM_Sub} = 4711... oder IS NULL und das geht eben nicht
..
IS NULL oder 1-#### geht aber nicht via Query, daher
..
AND ISNULL(Sub,0) = {PARAM_Sub} // Ist sub NULL wird 0 zurückgegeben.
..

So kann ich als PARAM_SUB 0 übergeben und erhalte alle Recs wo das Feld NULL ist, oder ich übergebe einen Wert > 0 und erhalte die entsprechenden Records. Simple wenn man es weiß..., hat mir aber ein paar Stunden gekostet... :)

Antworten