Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Condition sur le résultat d'un GROUP BY

1 réponse
Avatar
HD
Bonjour,

J'ai crée une requête access en passant par le VBA.

Req = "SELECT Dossiers.NomDossier, SUM(LignesFactures.Montant) AS MtFacture,
Factures.facNo " & Chr(10) & _
"FROM dossiers, lignesfactures, Factures " & Chr(10) & _
"WHERE Dossiers.dNoEnreg = Factures.dNoEnregFac AND
LignesFactures.lNoEnregFac = Factures.fNoEnreg "
Req = Req & Chr(10) & " GROUP BY Factures.facNo, Dossiers.NomDossier "

Je voudrais avoir une condition sur le résultat de la somme de
LignesFactures.Montant pour ne faire apparaître que les résultats supérieur
à 100 euros...

J'ai voulu créer tout simplement un MtFacture > 100 parmi la condition WHERE
mais bien sûr cela ne fonctionne pas.

Comment s'y prendre ?

Merci d'avance pour votre aide,

Cordialement,

HD

1 réponse

Avatar
HD
Req = "SELECT Dossiers.NomDossier, SUM(LignesFactures.Montant) AS
MtFacture, Factures.facNo " & Chr(10) & _
"FROM dossiers, lignesfactures, Factures " & Chr(10) & _
"WHERE Dossiers.dNoEnreg = Factures.dNoEnregFac AND
LignesFactures.lNoEnregFac = Factures.fNoEnreg "
Req = Req & Chr(10) & " GROUP BY Factures.facNo, Dossiers.NomDossier "

Je voudrais avoir une condition sur le résultat de la somme de
LignesFactures.Montant pour ne faire apparaître que les résultats
supérieur à 100 euros...

J'ai voulu créer tout simplement un MtFacture > 100 parmi la condition
WHERE mais bien sûr cela ne fonctionne pas.



J'ai trouvé... Il faut utiliser "HAVING"... L'on a alors:

Req = "SELECT Dossiers.NomDossier, SUM(LignesFactures.Montant) AS MtFacture,
Factures.facNo " & Chr(10) & _
"FROM dossiers, lignesfactures, Factures " & Chr(10) & _
"WHERE Dossiers.dNoEnreg = Factures.dNoEnregFac AND
LignesFactures.lNoEnregFac = Factures.fNoEnreg "

Req = Req & Chr(10) & " GROUP BY Factures.facNo, Dossiers.NomDossier " &
Chr(10) & _
"HAVING SUM(LignesFactures.Montant) > 100 "


@+
HD