Bonjour, comment calculer la somme d'une colonne d'un dbgrid qui est déja un champ virtuel de ma table depense.
merci
Bonjour, comment calculer la somme d'une colonne d'un dbgrid qui est déja un champ virtuel de ma table depense.
merci
vous pouvez utiliser une requette avec SUM(val*Val2)
out faire une boucle while va totaliser.
oui merci de votre reponse mais comment l'écrire quand fait une requete sur ma table avec les champs virtuel j'ai un message me disant que les champs n'existe pas
wjm
Je ne sais pas ce que tu entends par champs 'virtuel', cela doit être un champ calculé ?
sinon, sans passer par une requete, tu peux faire ceci pour faire la somme d'une colonne
bon code!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 RTotal := 0; DBGrid.DataSet.First; while not DBGrid.DataSet.Eof do try RTotal := RTotal + TonChamp1.AsFlaot + TonChamp2Calc.AsFloat + ...; // OU RTotal := RTotal + DBGrid.DataSet.FieldByName( 'MonChampe1' ).AsFloat + ... finally DBGrid.DataSet.Next; end;
PS: il vaut mieux faire un DBGrid.DataSet.DisableControls/EnableControls pour éviter de "voir" le curseur du dbgrid parcourir le dbgrid, de plus c'est plus rapide. Egalement, sauver la position du dataset serait aussi une bonne idée.
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Partager