[RESOLU] ACCESS 2007 : Requête SQL, Msg : 'Type de données ...'
JL
-
JL -
JL -
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.
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:
- [RESOLU] ACCESS 2007 : Requête SQL, Msg : 'Type de données ...'
- Save as pdf office 2007 - Télécharger - Bureautique
- Comment supprimer une page sur word 2007 - Guide
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Reparer outlook 2007 ✓ - Forum Outlook
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.
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.