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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #16778411
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);
NewsMic
Le #16789451
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" 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);



Michel__D
Le #16790851
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"
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" 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);
>




Publicité
Poster une réponse
Anonyme