bonjour a tous,
voila je récupére des données d'un dbgrid vers Tstringgrid avec ce code la:
sauf qu je veux faire des traitements lors de cette récupération en fait j'ai un champ date j'aimerais regroupé les enregistrements qui sont du meme mois des que je trouve le dernier enregistrement de ce mois la j'ajoute une ligne au string grid pour faire un total :
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 datset:=dbgrid1.DataSource.DataSet; //on récupère le dataset dans ta datset.First; //on place le pointer sur le premier élément j:=0; stringgrid1.RowCount:=1; stringgrid1.FixedCols:=0; stringgrid1.ColCount:=dbgrid1.Columns.Count; //on ajuste le nombre de colonne du stringgrid en fonction du dbgrid for i:=0 to dbgrid1.Columns.Count-1 do //on parcours toutes les colonnes de la première ligne pour ajuster la ligne fixe begin stringgrid1.Cells[i,0]:=dbGrid1.Columns.Items[i].FieldName; end; while not datset.Eof do begin j:=j+1; stringgrid1.RowCount:=stringgrid1.RowCount+1; //on ajoute une ligne dans le stringgrid for i:=0 to dbgrid1.Columns.Count-1 do //pour toutes les colonnes on recopie les données month:=strtoint(dbgrid1.DataSource.DataSet.FieldValues['date_deb']); if (MonthOf(dbgrid1.Columns.Grid.Fields[7].AsDateTime)=month) then begin stringgrid1.Cells[i,j]:=dbgrid1.Columns.Grid.Fields[i].AsString; datset.Next; //on passe à la prochaine ligne de la source de données end; if stringgrid1.RowCount>1 then stringgrid1.FixedRows:=1; //si il y a au moins une ligne, la première est fixe end;
merci bcp!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 query1.sql.add(' select SUM(motif) from mouvement //normalement ya un where
Partager