[RESOLU] ACCESS 2007 : Requête SQL, Msg : 'Type de données ...'

Fermé
JL - Modifié par JL le 24/06/2015 à 17:08
 JL - 24 juin 2015 à 17:08
Bonjour à tous,

Je suis actuellement en stage et je travaille sur des BD avec Access en tant que débutant.

J'ai ma première requête :
SELECT ID, COMMANDE, DATE, Sem, Année, Semaine, Période, Trim, Id_client, IdMAG, IDAMZ, REF, textbox47, LIB, PDTTYPE, STATUT, delivery_place_type, [OU], QTE, PV, REMISE, CATTC, CAINIT, MARQUE, SAISON, COL, THEME, UNIV, SUNIV, USAGE, FEM, COUL, TAILLE, PRISV, TOTALPRISV, LOG,
IIf(PDTTYPE<>"FP" And COL<>"DIV",Round((CATTC/(IIf(DATE<2014,1.196,1.2)))-TOTALPRISV,2),"") AS MARGE,
IIf(CATTC=0,"",IIf(PDTTYPE<>"FP",Round(MARGE/(CATTC/IIf(DATE<2014,1.196,1.2)),2),"")) AS TAUXMARGE,
IIf(PDTTYPE<>"FP",COMMANDE,"") AS CMDE, IIf(PDTTYPE<>"FP",Id_client,"") AS Client,
CDbl(IIf(PDTTYPE<>"FP" And COL<>"DIV",CATTC,"")) AS CATTC_Marchandise, IIf(PDTTYPE<>"FP" And COL<>"DIV","",CATTC) AS CATTC_Service,
IIf(COL="DIV",CATTC,"") AS CATTC_KDO,
IIf(PDTTYPE="FP",CATTC,"") AS CATTC_FP
FROM T_9WEB_Cumul;

Dans une seconde requête je voulais utiliser la variable venant d'être créée : CATTC_Marchandise

SELECT Trim, SUNIV,Sum(CATTC_Marchandise) AS CA
FROM [1/EXTRACT]
GROUP BY Trim, SUNIV;

Sauf que quand je veux passer en mode Feuille de donnée, un message d'erreur s'affiche : 'Type de données incompatible dans l'expression du critère'.

Lorsque je remplace CATTC_Marchandise par un champ non calculé, comme CATTC, cela fonctionne et j'ai un tableau du style :
Trim SUNIV CA
2013-T1 Sous univers1 150
2013-T1 Sous univers2 200
2013-T1 Sous univers3 250
2013-T2 Sous univers1 159
2013-T2 Sous univers2 300
2013-T2 Sous univers3 280
...

Est ce que vous pouvez m'aider à obtenir le même tableau mais avec la somme des CATTC_Marchandise ?


N'hésitez pas, si vous avez des conseils d'améliorations pour le code ou quoique ce soit d'autres, je suis preneur. Par avance merci.
A voir également:

1 réponse

J'ai trouvé la réponse.
Dans le cas où cela intéresse quelqu'un :
Il n'arrive pas à additionner la colonne CATTC_Marchandise puisque celui contient des cellules vides.
Il fallait donc changer dans la première requête :
CDbl(IIf(PDTTYPE<>"FP" And COL<>"DIV",CATTC,0)) AS CATTC_Marchandise

Donc 0 à la place de "".

Merci.
0