2016-05-27 1 views
1

Quelqu'un pourrait-il me dire ce que je fais de mal dans cette requête pour obtenir une colonne calculée?Fonctions IIF et GAUCHE

IIf(Left([VIN Number],2)="1F" OR "2F" OR "3F" OR "1L” OR “2L” OR “NM”,”Food”,"Comp") 

Il me donne une erreur disant "vous avez peut-être entré un opérande sans opérateur"

Répondre

2

Vous ne pouvez pas avoir une condition composée comme ...

Something = "a" OR "b" 

Vous devez répéter le Something = après OR ...

Something = "a" OR Something = "b" 

Pour votre expression de requête IIf(), une liste contenant les valeurs In() match serait plus concis ...

IIf(Left([VIN Number],2) IN ("1F", "2F", "3F", "1L", "2L", "NM"), "Food", "Comp") 

Prenez garde votre échantillon de code comprend des citations typesetting ( et ). Assurez-vous d'utiliser des guillemets simples (") dans votre code réel.

+0

Merci beaucoup pour votre aide. Cela a fonctionné :-) – Navy

+0

Alors s'il vous plaît marquer comme répondu. – Gustav

1

L'opérateur OR ne fonctionne pas comme prévu. Il nécessite des instructions qui se résolvent à TRUE ou FALSE de chaque côté de celui-ci, donc vous ne pouvez pas vérifier si quelque chose est égal à l'une des nombreuses choses comme ça.

Soit vous devez faire:

Iif(Left([VIN Number],2)="1F" OR Left([VIN Number],2)="2F" OR Left([VIN Number],2)="3F"...., "Food", "Comp") 

ou que vous devez faire:

Iif(Left([VIN Number],2) In("1F","2F", "3F"....), "Food", "Comp") 
+0

Merci beaucoup pour votre aide et votre temps. :-) – Navy