Somme dans dbgrid par type produit

Résolu
anil16 Messages postés 47 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 15 février 2010 - 6 nov. 2009 à 21:22
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 7 nov. 2009 à 21:38
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

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
7 nov. 2009 à 11:50
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.
3
anil16 Messages postés 47 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 15 février 2010
7 nov. 2009 à 19:06
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
3
anil16 Messages postés 47 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 15 février 2010
7 nov. 2009 à 16:52
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
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
7 nov. 2009 à 17:16
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
anil16 Messages postés 47 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 15 février 2010
7 nov. 2009 à 17:48
non, ce sont les mêmes champs!!
table detail_bl(num_bl, code_p, qte_l, pu_l)
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
7 nov. 2009 à 21:38
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.
0
Rejoignez-nous