XL 2010 Utilisation de GROUP BY à plusieurs criteres

Seb

XLDnaute Occasionnel
Bonjour le forum, je bloque sur l’écriture d'une demande SQL pour avoir accès à ma base Access depuis excel.

Dans Access j'ai des champs "DATE" "SECTEUR" "TYPE" et "MONTANT"

Dans une table j'ai 1 année de travail.


Quel serait l'ecriture de mon SQL pour avoir:

-La somme par mois par secteur.
-La somme par mois par secteur trié par type.

J'arrive à faire un GROUP BY avec 1 critere mais pas avec plusieurs:

Set Base = DBEngine.OpenDatabase(ThisWorkbook.Path & "\MaTable.accdb")
Sql_1 = "SELECT SECTEUR, SUM(MONTANT) FROM 2020 GROUP BY SECTEUR"

Set ENR = Base.OpenRecordset(Sql_1, dbOpenDynaset)
Table1 = ENR.GetRows(ENR.RecordCount)


C'est la ou je bloque. Impossible de faire la somme par secteur et par mois. Ça fait plusieurs jours que je bloque dessus et je trouve rien sur les forums.

Merci du coup de main.
 

dysorthographie

XLDnaute Accro
bonjour,
j’avoue ne pas comprendre la problématique!
une requête est toujours architecturé de la même manière!

Code:
select [Champ1],[champ2],Sum([champ3]),[ETC]
From [Table] 
Where [Champ1]='TOTO' AND [champ2]=#01/04/2020#
GROUP BY  [Champ1],[champ2],[ETC]
HAVING Sum([champ3])>1000
 

dysorthographie

XLDnaute Accro
TRANSFORM Sum(Table1.[MONTANT]) AS SommeDeMONTANT
SELECT Table1.[SECTEUR], Table1.[TYPE], Sum(Table1.[MONTANT]) AS [Total de MONTANT]
FROM Table1
GROUP BY Table1.[SECTEUR], Table1.[TYPE]
PIVOT Format([date],"mmm") In ("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");
 

Seb

XLDnaute Occasionnel
Bonsoir tatiak, dysorthographie et re Thierry.

Merci beaucoup, vous m'avez bien fait avancer et surtout je commence à comprendre comment ça marche et c'est essentiel pour que je puisse me dépatouiller.

Je viens de réussir à faire ce que je voulais en compilant un peut les écritures de tous le monde. Maintenant effectivement ça me parait moins compliqué que l'idée que je m'en faisait.




Dysorthographie , je ne comprend pas encore tous les termes de ton vba, je regarderais demain il a l'air interressant.
TRANSFORM Sum(Table1.[MONTANT]) AS SommeDeMONTANT
SELECT Table1.[SECTEUR], Table1.[TYPE], Sum(Table1.[MONTANT]) AS [Total de MONTANT]
FROM Table1
GROUP BY Table1.[SECTEUR], Table1.[TYPE]
PIVOT Format([date],"mmm") In ("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");

Tatiak, j'ai repris une partie de ton code, merci pour ton coup de main.

Thierry, désolé d'avoir fait un autre fil, tu m'as bien fait avancer et je te remercie. Je voulais pas t'offenser.

Seb
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 763
dernier inscrit
NICO26