# Access 2003 IF Abfrage in SQL



## ronaldo84 (12. September 2006)

Hallo,

ich habe ein Problem. Und zwar habe ich ein Formular in dem man sich Artikel in Abhänigikeit vom Hersteller und der Produktgruppe anzeigen lassen kann. Bis jetzt ist es so das beides berücksichtigt wird. Ich hätte es aber nun gerne das beim öffnen des Formulares auswählen kann ob die Produktgruppe auch berücksichtigt werden soll (Ich weiß das könnte man ganz leicht in VBA machen. Ich würde es aber gerne in SQL machen). Deshalb habe ich einfach ein Feld (xx) mit in die Abfrage genommen. Diese Feld ist nicht vorhanden, deswegen wird beim öffnen des Formulares gefragt welchen Wert xx haben soll. Nun soll entweder ja oder nein eingegeben für mit oder ohne Produktgruppe. Hier habe ich mal meine SQL-Anweisung (vereinfacht):

```
SELECT DISTINCTROW ...
FROM ...
WHERE (((LAGER2.FIRMA)=[Formulare]![ARTIKEL]![FIRMA]) AND ((LAGER2.PRODUKTGRUPPE)=IIf([xx]="ja",[Formulare]![ARTIKEL]![PRODUKTGRUPPE],'')) AND ((LAGER2.ÜBERHOLT)=No))
ORDER BY ...
```
 So. Es kommt nur auf die IF-Abfrage an. Mein problem ist nun wenn ich nun "nein" eingebe wird kein Produkt angezeigt. Was ja auch logisch ist weil wenn die Ausage nein ist soll er ja nach 
	
	
	



```
Produktgruppe=''
```
 suchen. Diese ist nicht vorhanden. Habe die Wildcards (%,&,_) schon versucht, aber die klappen meines Wissens nur mit Verbindung Like. Wie kann ich es ändern das die Produktgruppe nicht berücksichtigt wird?


----------



## zeja (29. September 2006)

Zeihe doch alles was Produktgruppe betriff in das IF mit rein. Also so ähnlich:

```
SELECT DISTINCTROW ...
FROM ...
WHERE (((LAGER2.FIRMA)=[Formulare]![ARTIKEL]![FIRMA]) AND (IIf([xx]="ja",(LAGER2.PRODUKTGRUPPE)=[Formulare]![ARTIKEL]![PRODUKTGRUPPE],'')) AND ((LAGER2.ÜBERHOLT)=No))
ORDER BY ...
```


----------

