MS Query - Requête avec CONDITION

cdivad

XLDnaute Nouveau
Bonjour à tous,

Je viens vers vous car j'ai un souci dans une requête SQL à travers Excel. Je m'explique:

J'ai une base Access (.mdb) sur laquelle je calcule des moyennes pondérées en fonction d'achat ou de revente. Le problème réside dans le fait qu'il est toujours possible de se retrouver dans une position neutre (nombre d'achats=nombre de ventes, donc solde de l'opération =0).

Dans ce cas, lors de mon opération pour avoir ma moyenne pondérée, je me retrouve à faire une division par zéro... Là est mon problème!

J'ai donc recherché la syntaxe pour mettre une condition dans ma requete, afin de remplacer le calcul par un simple "-". J'ai trouvé la fonction "Iif" dans Access. J'ai intégré cette fonction dans ma requete SOUS ACCESS, et ça fonctionne à la perfection... Vous me demanderez donc pourquoi je suis ici...

Le problème est que, quand je copie/colle ma requete avec le IIF dans mon MS Query, il me sort une erreur.

Anyway, j'ai cherché la syntaxe MS Query pour mettre une condition, et ait donc trouvé le "CASE champ WHEN = condition THEN valeur1 ELSE valeur2"...

qui ne marche pas non plus!!! (erreur completement farfelue: "impossible d'ajouter la table 'blabla', alors que je n'ai aucune requete d'ajout de table... :confused: )

Quelqu'un peut-il m'aider à trouver la syntaxe qui me convient pour remplacer mon calcul par un simple "-" lors de ma requête?

Merci à tous!
 
C

Compte Supprimé 979

Guest
Re : MS Query - Requête avec CONDITION

Salut cdivad,

Si tu veux avoir des réponses, tu pourrais au moins nous mettre le code de ta requête ACCESS :confused:

En tout cas tu ne peux pas faire un IF

A+
 

cdivad

XLDnaute Nouveau
Re : MS Query - Requête avec CONDITION

Salut BrunoM45!

Ma requete access est la suivante:

Code:
SELECT DISTINCTROW [Negos].[Lib Client],
 
IIf(Sum([Negos].Qté*[Negos].[Cours Négo])<>0,Sum([Negos].Qté*[Negos].[Cours Négo])/Sum([Negos].Qté),"-") AS [Moyenne Pondérée],
 
Sum([Negos].Qté) AS [Position Nette]

FROM [Negos]

WHERE [Negos].[Lib Valeur]='baratin'

GROUP BY [Negos].[Lib Client];
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 396
Messages
2 088 039
Membres
103 706
dernier inscrit
lolaLb02