MS Query - Requête avec CONDITION

  • Initiateur de la discussion Initiateur de la discussion cdivad
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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... 😕 )

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!
 
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 😕

En tout cas tu ne peux pas faire un IF

A+
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
110
  • Question Question
Microsoft 365 Power Query
Réponses
2
Affichages
204
Réponses
0
Affichages
297
Retour