Somme dans dbgrid par type produit [Résolu]

Signaler
Messages postés
47
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
15 février 2010
-
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Bonsoir,
j'ai une grille bdgrid qui affiche les données suivantes:

je veux afficher ces données dans une autre dbgrid par un clique bouton de sorte que le code produit n'apparaissent qu'une seule fois et que la Qtesum Qte,et PU sum PU pour chaque produit donnée.
c-à-d que dans ma nouvelle grille dbgrid j'aurai :
code_p/Qte_T/PU_T
LB5 / 30 / 700,00 DA
LB4 / 15 / 1400,00 DA

Comment faire cette manipulation?
Merci beaucoup

6 réponses

Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
25
Bonjour,

En supposant que les champs de ta table portent le même nom que les colonnes ci-dessus et que la table s'appelle "ventes", la requête SQL suivante renverra le résultat souhaité :
SELECT distinct code_p, sum(qte_l), sum(pu_l) 
FROM ventes 
GROUP BY code_p


Il te reste à coder l'appel de la fiche sur laquelle figurera un TDbGrid relié à cette dernière requête.

Bonne continuation.
8000 Lévriers 'galgos' par an sont torturés et massacrés en Espagne
May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
47
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
15 février 2010

Salut,
En fait le problème était que je voulais afficher le résultat de cette requête sur la même dbgrid reliée à la table detail_bl
J'ai créé une autre table pour stocker le résultat de cette requête avec champs 'code_p, qte_t et pu_t' et j'ai modifié un peu le code:
select  distinct code_p, sum(qte_l) as "qte_t", sum(pu_l) as"pu_t" from detail_bl group by code_p

Merci beaucoup delphiprog pour ton aide
Messages postés
47
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
15 février 2010

Bonjour,
merci Delphiprog j'ai essayé ton code sur le même composant tquery qui m'affiche la grille dbgrid que j'ai mis en image pour tester est l'erreur est qu'il ne reconnait pas sum(qte_l)!! donc il m'affiche ce message
DatabaseError with message 'ADOQuery2: field 'qte_l' not found'.....
code sur clique bouton:
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select distinct code_p, sum(qte_l), sum(pu_l) from detail_bl group by code_p');
ADOQuery2.Open;

j'utilise Access comme SGBD
Merci
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
25
Comme je l'ai écrit, j'ai supposé que les noms des champs de la table étaient les mêmes que ceux des colonnes de ton TDbGrid, faute de mieux...
Après, c'est à toi d'adapter la requête en fonction des noms réels dans la table.
La simplicité de cette requête au standard SQL ne devrait pas être un obstacle.


8000 Lévriers 'galgos' par an sont torturés et massacrés en Espagne
May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
47
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
15 février 2010

non, ce sont les mêmes champs!!
table detail_bl(num_bl, code_p, qte_l, pu_l)
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
25
Ok, je comprends mieux...

8000 Lévriers 'galgos' par an sont torturés et massacrés en Espagne
May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.