bonjour,
je suis en train de créer une table sous access 2000 en mode sql mais je rencontre un probléme au niveau du iif.
Lorsque je fais plus d'une dizaine de IIF imbriqué, access me dit que la requete est trop complexe et donc refuse de s'executer
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "F" AND (CODTAX="F" OR CODTAX="M") , "7013    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "F" AND CODTAX="E", "7011    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "F" AND CODTAX="C", "7015    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "F" AND CODTAX="U", "7014    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "F" AND CODTAX="S", "7012    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "A" AND (CODTAX="F" OR CODTAX="M"), "7073    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "A" AND CODTAX="E", "7071    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "A" AND CODTAX="C", "7075    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "A" AND CODTAX="U", "7074    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "11" AND (LEFT([Position de Bon de Livraison].[Code Article], 3) <> "763" OR LEFT([Position de Bon de Livraison].[Code Article],3) <> "708") AND [Article].[Code d'Approvisionnement] = "A" AND CODTAX="S", "7072    ",
 
IIF(LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "19" AND LEFT([Position de Bon de Livraison].[Compte],1) = 7 , TRIM([Position de Bon de Livraison].[Compte])&"    ",
 
IIF((LEFT([Position de Bon de Livraison].[Code Article], 3) = "763" OR [Position de Bon de Livraison].[Code Article] = "70800" OR [Position de Bon de Livraison].[Code Article] = "70810" OR [Position de Bon de Livraison].[Code Article] = "70851") OR (LEFT([Position de Bon de Livraison].[Numéro de Bon de livraison],2) = "19") , "        "
)))))))))))) AS CPTVEN


Est ce que qu'elqu'un pourrait m'aider?!
Est ce un probléme d'access 2000?
Est ce ma mémoire qui est limité? (je ne pense pas car le message est assez clair)
...


Rappel du message d'erreur:
"La requete est trop complexe"

merci