bonjour
est-il possible de faire la somme dans un champ du dbgrid, sur quelques lignes de celui-ci?
bonjour
est-il possible de faire la somme dans un champ du dbgrid, sur quelques lignes de celui-ci?
Le DBGrid ne contient pas les données.
Donc la somme à effectuer sera faite en ventilant les lignes de ton DataSet.
2 solutions, 1 requete, la meme que celle que tu as utilisée pour afficher tes données, mais avec SUM( tonchamp ).
Ou bien, le cycle classique
en ce qui concerne la somme, seuelement sur certaines lignes, dans la 2eme solution c'est à toi d'imposer le critere pour effectuer la somme ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Valeur := 0; DataSet.First; while not Dataset.Eof do try Valeur := Valeur + TableTonChamp.AsFloat; finally DataSet.Next; end;
Par requete, il faut ajouter la condition nécessaire...
bon courage !
Excuse moi pour ce retard
en fait c'est plus compliqué que ça je voudrais que le résultat s'affiche dans une ligne du champ d'un dbgrid en fait c'est pour une fiche de paie c'est pour me calculer le salaire brut : salaire de base + prime + commission.
vous pouvez formuler votre fiche de paie autrement
dans un stringgrid (il vous faut une procédure d'affichage).
ou en utilisant une table temporaire qui va contenir toutes les rubriques.
merci beaucoup
mais est-ce que vous pourriez m'en dire un peu plus?
Salut
Si j'ai bien compris..... tu veux faire cette somme chaque ligne? Si est oui, tu peux utiliser un champ calculé
A+
merci pour la réponse
mais je voudrais faire la somme dans un champ calculé des 2 ou 3 lignes avant ce champ calculé et de préférence si l'utilisateur rajoute une ligne qu'il la prenne en compte aussi.
ex :
champ calculé
une ligne 'salaire de base'
une ligne 'prime'
une ligne 'commission'
une ligne somme ici je voudrais avoir la somme.
salut bon normalement votre table rubrique et structurer comme suit
Code Desifnation sens Montant
vous pouvez placez un stringrid nommée grille avec 6 colone expl
ou vous aurrai le code désignation Taux, Montant retenue, montant gain
et vous faite une boucle d'affichage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 var I : Intger; Mont : Currency; Begin // vous dertminez les largeur des colones GRille.ColWidths[0] := 10; . . GRille.ColWidths[5] := 80; Grille.FixedCols:=0; Grille.ColCount:=6 Grille.Cells[0,0] := 'Code'; Grille.Cells[1,0]:='Désignation'; Grille.Cells[2.0]:='Nombre'; Grille.Cells[3,0]:='Taux'; Grille.Cells[4,0]:='Retenue'; Grille.Cells[5,0]:='Gain'; Matable.First; Mont := 0; I:=1; // indice de ligne 0 c'est le titre While not Matable.Eof do begin Grille.[0,I] := le champs corespendant (il faut le convertitr en chaine si il le faut) Mont := Mont+ChampeValeur; Inc(I); MTable.next; end; Grille.Cells[0,I] := 'Code'; Grille.Cells[1,I]:='Somme'; Grille.Cells[5,I]:=CurrToStrF(Mont,ffNumber,2);
salut,
je crois que le plus simple serait de baser votre dbGRID sur un Query qui va contenir SUM .
Bonne chance.
Merci.
Envoyé par hocine
Je pense que personne n'a comprie le problemme de piérot, en plus de piérot il voudrai que le derniere ligne de sa grille soit la somme des autres lignes,
il a un soucie d'affichage et non de calculer la somme
A mon avis, il faudra que Pierrot67 gère cela manuellement.
Utilisation d'un grille et population des données manuellement.
Car je ne connais pas de composant DB qui peuvent faire cela automatiquement.
Courage
Salut,
j'aime regarder à la vie plus simplement, pierro veut créer une fiche, un dbgrid où il veut voir les diferents sommes alors que quickreport (état) peut faire le reste (les calculs).
J'ai relis les messages postés par pierro, et le dernier message de Aïtyahia, donc pierro peut utilser le code pour résoudre son problème, en ajoutant 2 variables en plus de mont ,priem et commis et en ajoutant au dbgrid 3 lignes
soit 'salaire de base' la variable mont.
une ligne 'prime' i+1
une ligne 'commission' i+2
somme i+3
Bonne chance.
Merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager