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

Etat ou requête, une petite aide svp.(Access 2007)

3 réponses
Avatar
NewsMic
Bonjour,

Parmi tous les champs d'une table, j'ai un champ "Support" un champ
"Montant" et un champ "Date"
Le champ "Support" est un format Texte de 5 caractères sou la forme 01801,
01802, 01803 puis 02801, 02802,02803 etc...(Les 3 caractères de gauche sont
communs à plusieurs "Supports" mais ne sont pas un champ de la table
(appelons les CodeSupport)
Pour chaque "Support" je souhaiterais avoir un comptage et un total de
'Montant"
(ex : 01801 : 10 : 400,00)
Puis un regroupement par CodeSupport pour un résultat :
01801 : 10 : 400,00
01802 : 15 : 450,00
01803 : 5 : 150,00
018 : 30 : 1000,00

Quelle est la syntaxe sql svp ?
(Avant de demander, j'ai essayé de passer par la création de requête, puis
par l'assistant, idem pour les états, ce qui donne les options Tri, Critères
ou Afficher, mais comment faut'il faire pour obtenir les totaux ? Le mode
SQL est'il la seule solution ?)

Merci

NewsMic

3 réponses

Avatar
Michel__D
Bonjour,

NewsMic a écrit :
Bonjour,

Parmi tous les champs d'une table, j'ai un champ "Support" un champ
"Montant" et un champ "Date"
Le champ "Support" est un format Texte de 5 caractères sou la forme 01801,
01802, 01803 puis 02801, 02802,02803 etc...(Les 3 caractères de gauche sont
communs à plusieurs "Supports" mais ne sont pas un champ de la table
(appelons les CodeSupport)
Pour chaque "Support" je souhaiterais avoir un comptage et un total de
'Montant"
(ex : 01801 : 10 : 400,00)
Puis un regroupement par CodeSupport pour un résultat :
01801 : 10 : 400,00
01802 : 15 : 450,00
01803 : 5 : 150,00
018 : 30 : 1000,00

Quelle est la syntaxe sql svp ?
(Avant de demander, j'ai essayé de passer par la création de requête, puis
par l'assistant, idem pour les états, ce qui donne les options Tri, Critères
ou Afficher, mais comment faut'il faire pour obtenir les totaux ? Le mode
SQL est'il la seule solution ?)



Essaye avec cette requête union :

SELECT Support, Montant
FROM LaTable
UNION
SELECT Left(Support,3), Sum(Montant)
FROM LaTable
GROUP BY Left(Support,3);
Avatar
NewsMic
Bonsoir,

Meri. Ca fonctionne partiellement avec cette requête Union. Première
question :
Pourquoi y a t'il une fenêtre 'Entrer une valeur de paramètre" avec
"Requête1.Montant facturé" puis une suivante avec "Requête.support" ?
2ème question : Que faire pour n'afficher que les totaux par "CodeSupport"
de 3 caractères.
Voici la requête :
SELECT Ventes_Clients.Support, Ventes_Clients.[Montant facturé]
FROM Ventes_Clients
UNION SELECT Left(Ventes_Clients.Support,3), Sum(Ventes_Clients.[Montant
facturé])
FROM Ventes_Clients
GROUP BY Left(Ventes_Clients.Support,3);

Cordialement,

NewsMic

"Michel__D" a écrit dans le message de
news: u$
Bonjour,

NewsMic a écrit :
Bonjour,

Parmi tous les champs d'une table, j'ai un champ "Support" un champ
"Montant" et un champ "Date"
Le champ "Support" est un format Texte de 5 caractères sou la forme
01801, 01802, 01803 puis 02801, 02802,02803 etc...(Les 3 caractères de
gauche sont communs à plusieurs "Supports" mais ne sont pas un champ de
la table (appelons les CodeSupport)
Pour chaque "Support" je souhaiterais avoir un comptage et un total de
'Montant"
(ex : 01801 : 10 : 400,00)
Puis un regroupement par CodeSupport pour un résultat :
01801 : 10 : 400,00
01802 : 15 : 450,00
01803 : 5 : 150,00
018 : 30 : 1000,00

Quelle est la syntaxe sql svp ?
(Avant de demander, j'ai essayé de passer par la création de requête,
puis par l'assistant, idem pour les états, ce qui donne les options Tri,
Critères ou Afficher, mais comment faut'il faire pour obtenir les totaux
? Le mode SQL est'il la seule solution ?)



Essaye avec cette requête union :

SELECT Support, Montant
FROM LaTable
UNION
SELECT Left(Support,3), Sum(Montant)
FROM LaTable
GROUP BY Left(Support,3);



Avatar
Michel__D
Bonjour,

Pour la 1ère question, vérifie qu'il n'y a pas d'erreurs dans le libellé de tes champs.

Pour la 2ème question (si j'ai bien compris), il ne faut prendre que la 2ème requête
de la requête union :

SELECT Left(T.Support,3) AS Support3, Sum(T.[Montant facturé]) AS [Total_Facture]
FROM [Ventes_Clients] AS T
GROUP BY Left(T.Support,3);


"NewsMic" a écrit dans le message de news:48c99232$0$954$
Bonsoir,

Meri. Ca fonctionne partiellement avec cette requête Union. Première
question :
Pourquoi y a t'il une fenêtre 'Entrer une valeur de paramètre" avec
"Requête1.Montant facturé" puis une suivante avec "Requête.support" ?
2ème question : Que faire pour n'afficher que les totaux par "CodeSupport"
de 3 caractères.
Voici la requête :
SELECT Ventes_Clients.Support, Ventes_Clients.[Montant facturé]
FROM Ventes_Clients
UNION SELECT Left(Ventes_Clients.Support,3), Sum(Ventes_Clients.[Montant
facturé])
FROM Ventes_Clients
GROUP BY Left(Ventes_Clients.Support,3);

Cordialement,

NewsMic

"Michel__D" a écrit dans le message de
news: u$
> Bonjour,
>
> NewsMic a écrit :
>> Bonjour,
>>
>> Parmi tous les champs d'une table, j'ai un champ "Support" un champ
>> "Montant" et un champ "Date"
>> Le champ "Support" est un format Texte de 5 caractères sou la forme
>> 01801, 01802, 01803 puis 02801, 02802,02803 etc...(Les 3 caractères de
>> gauche sont communs à plusieurs "Supports" mais ne sont pas un champ de
>> la table (appelons les CodeSupport)
>> Pour chaque "Support" je souhaiterais avoir un comptage et un total de
>> 'Montant"
>> (ex : 01801 : 10 : 400,00)
>> Puis un regroupement par CodeSupport pour un résultat :
>> 01801 : 10 : 400,00
>> 01802 : 15 : 450,00
>> 01803 : 5 : 150,00
>> 018 : 30 : 1000,00
>>
>> Quelle est la syntaxe sql svp ?
>> (Avant de demander, j'ai essayé de passer par la création de requête,
>> puis par l'assistant, idem pour les états, ce qui donne les options Tri,
>> Critères ou Afficher, mais comment faut'il faire pour obtenir les totaux
>> ? Le mode SQL est'il la seule solution ?)
>
> Essaye avec cette requête union :
>
> SELECT Support, Montant
> FROM LaTable
> UNION
> SELECT Left(Support,3), Sum(Montant)
> FROM LaTable
> GROUP BY Left(Support,3);
>