Supportnet / Forum / Datenbanken
Wenn-Kriterium in Abfrage
Frage
Hallo!
Ich lasse mir in einer Abfrage bestimmte Datensätze anzeigen. In einem Formular kann ich vorher auswählen, ob ich nur die Datensätze haben möchte, wo [Feld1] is null oder ob ich alle haben möchte .
Wenn ich als Kriterium in der Abfrage eingebe:
Wenn([forms]![formular1]![box]=1;is null) formt er das um zu:
Wenn([forms]![formular1]![box]=1;([table1].[feld1]) is null)
Aber er zeigt dann gar keine Ergebnisse an.
Kann mir jemand helfen?
Danke.
Antwort 1 von Teddy7
So geht das gar nicht.
Du kannst in einer Abfrage nur Werte vergleichen.
Das geht also nur, indem Du in der Abfrage eine zusätzliche Spalte einfügst:
XVergl: wenn(Feld1 ist Null;"1";"")
und dann als Kriterium zu dieser Spalte
Forms!formular1!box oder forms!formular1!box is null
Oder Du schränkst die Abfrage über VBA-Codierung ein.
Gruß
Teddy
Du kannst in einer Abfrage nur Werte vergleichen.
Das geht also nur, indem Du in der Abfrage eine zusätzliche Spalte einfügst:
XVergl: wenn(Feld1 ist Null;"1";"")
und dann als Kriterium zu dieser Spalte
Forms!formular1!box oder forms!formular1!box is null
Oder Du schränkst die Abfrage über VBA-Codierung ein.
Gruß
Teddy
Antwort 2 von Ole
Ja, danke.
Aber das löst mein eigentliches Problem nicht. Ich hatte es schon so ähnlich gelöst.
neue Spalte mit: forms!formular1!box
und unter kriterium 2 zeilen für die beiden möglichkeiten der box. (1 und 2)
und in der zeile mit der 1 unter feld1 is null als kriterium.
das funktionierte auch, es dauerte aber geschlagene 15 Sekunden!! (hab ne reisige datenmenge)
Aber wenn ich die option mit der box weggelassen habe und einfach nur unter feld1 is null geschrieben habe, dann ging es in 0,2 Sekunden!
Mein eigentliches Problem ist also die Dauer.
Falls du dahingehend eine Lösung kennst, gerne.
Ansonsten trotzdem danke für die Mühe und die schnelle Antwort.
Gruß, Ole.
Aber das löst mein eigentliches Problem nicht. Ich hatte es schon so ähnlich gelöst.
neue Spalte mit: forms!formular1!box
und unter kriterium 2 zeilen für die beiden möglichkeiten der box. (1 und 2)
und in der zeile mit der 1 unter feld1 is null als kriterium.
das funktionierte auch, es dauerte aber geschlagene 15 Sekunden!! (hab ne reisige datenmenge)
Aber wenn ich die option mit der box weggelassen habe und einfach nur unter feld1 is null geschrieben habe, dann ging es in 0,2 Sekunden!
Mein eigentliches Problem ist also die Dauer.
Falls du dahingehend eine Lösung kennst, gerne.
Ansonsten trotzdem danke für die Mühe und die schnelle Antwort.
Gruß, Ole.
Antwort 3 von Teddy7
Ganz einfach - mach 2 Abfragen und ruf die gewünschte auf.
Gruß
Teddy
Gruß
Teddy
Antwort 4 von Ole
Ja, das ist die einfachste Lösung. Werde wahrscheinlich auch nicht drum rum kommen. Dachte nur, es geht "platzsparender". Denn diese Art von Abfrage habe ich sehr oft. Und aus 10 Abfragen werden dann plötzlich 20. Naja, nichts zu machen.
Danke.
Danke.