Bonjour,
Dans une requête ACCESS et à partir de la table Histo suivante,
Nom Qtté Sens
A 1 s
A 2 s
B 1 e
C 1 e
A 1 e
B 1 e
C 1 s
Je cherche à obtenir le total des "s" - le total des "e" regroupé par nom c.a.d.
A 2
B 2
C 0
Merci pour votre aide,
fm
Bonjour,
Dans une requête ACCESS et à partir de la table Histo suivante,
Nom Qtté Sens
A 1 s
A 2 s
B 1 e
C 1 e
A 1 e
B 1 e
C 1 s
Je cherche à obtenir le total des "s" - le total des "e" regroupé par nom c.a.d.
A 2
B 2
C 0
Merci pour votre aide,
fm
salut,
les calculs de ce type se font grace à la fonction SUM().
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Salut Jpcheck,
J'arrive en partie à résoudre mon probléme avec la requête ci-dessous
je peux faire la même chose avec les "e"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT Histo.Nom, Sum(Histo.qtté) AS SommeDeQtté, Histo.Sens FROM Histo GROUP BY Histo.Nom, Histo.Sens HAVING (((Histo.Sens)="s"));
mais je n'arrive pas à faire la différence des deux. Je sèche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT Histo.Nom, Sum(Histo.qtté) AS SommeDeQtté, Histo.Sens FROM Histo GROUP BY Histo.Nom, Histo.Sens HAVING (((Histo.Sens)="e"));
merci de votre aide
fm
très bien,
maintenant, tu fais une jointure entre tes deux requêtes, et tu obtiens le résultat directement
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT A.Nom, A.SommeDeQtté AS SumQteS, B.SommeDeQtté AS SumQteE FROM (SELECT Histo.Nom, Sum(Histo.qtté) AS SommeDeQtté, Histo.Sens FROM Histo GROUP BY Histo.Nom, Histo.Sens HAVING (((Histo.Sens)="s"))) A INNER JOIN (SELECT Histo.Nom, Sum(Histo.qtté) AS SommeDeQtté, Histo.Sens FROM Histo GROUP BY Histo.Nom, Histo.Sens HAVING (((Histo.Sens)="e"))) B ON A.Nom = B.Nom;
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Merci Jpcheck pour ton aide,
mais dans ta requête, je ne vois pas où est faite la différence entre la sommes des "s" et la somme des "e" ???
et qu'apporte la jointure ?
fm
En utilisant le principe d'alias, c'est à dire que tu "surnommes" une table ou une sous-requete pour faire référence à elle dans une autre partie de ta requête principale.
Ici, j'ai nommé A et B les requêtes avec respectivement les sommes de "S" et de "E".
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
salut jpcheck et bienvenu fmu74,
c'est pas un truc comme ca que tu veux? :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select Nom, abs(sum(switch(Sens="s",Qtté,Sens="e",-1*Qtté,true,0))) from maTable group by Nom
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager