Bonjour,
j'ai un dataset qui contient les informations suivantes:
date durée (obtenue par calcul de fin-début)
ex: 19/05/06 05:03
19/05/06 02:05
20/05/06 06:00
21/05/06 04:30
21/05/06 01:42

je voudrais obtenir dans un troisième champ le total de durée par journée, ce qui ferait dans l'exemple suivant
19/05/06 05:03 00:00
19/05/06 02:05 07:08 (stocker la durée dans la dernière ligne de date ?)
20/05/06 06:00 06:00
21/05/06 04:30 00:00
21/05/06 01:22 05:52

Quel est le meilleur moyen pour obtenir ce résultat, j'ai essayé de boucler sur le dataset en comparant date mais cela n'est pas suffisant car je ne sais pas comment initialiser le 1er date

voici mon code (qui est faux)

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
With MonDataset do
    try
      open;
 
      DernDate := 0;
 
      First;
      while not eof do
      begin
 
        sousTot := sousTot + (FieldByName('FIN').AsDateTime - FieldByName('DEBUT').AsDateTime) ;
 
          if (DernDate <> Trunc(FieldByName('DEBUT').AsDateTime)) then
          begin
            edit;
            FieldByName('DUREE').AsFloat := sousTot ;
            post;
            sousTot := 0; //réinitialise
          end;
 
        DernDate := Trunc(FieldByName('DEBUT').AsDateTime);
        Next;
      end;
merci,
Isa