Bonjour à tous!
je suis entrain de faire une recherche dans une table à partir de deux dates.
A la fin de la recherche , je dois afficher les resultats dans le Dbgrid et les montants dans des Edit .
Au fait, je desire rechercher les entrées(somme) et les sorties(somme) d'une personne dans une table et afficher le total Entrée , Total Sortie et le Solde dans des Edit à la fin de la recherche entre deux dates;
Mais ça ne marche pas, et il y a rien dans les Edit.
Voici mon code
il ne m'affiche pas d'erreur , et pourtant il ne me donne pas ce que je veux.
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 procedure TGestionForm.SpeedButton3Click(Sender: TObject); var nEntree,nSortie :variant; begin nEntree:=0; nSortie:=0; DM.tbDetailPerson.First; while not DM.tbDetailPerson.Eof do begin DM.tbDetailPerson.Locate('DATEPERS',DateInitiale.Date,[]); DM.tbDetailPerson.Locate('DATEPERS',DateFinale.Date,[]); if (FormatDateTime('dd/mm/yyyy',DM.tbDetailPersonDATEPERS.Value)= FormatDateTime('dd/mm/yyyy',DateInitiale.Date)) and (FormatDateTime('dd/mm/yyyy',DM.tbDetailPersonDATEPERS.Value)= FormatDateTime('dd/mm/yyyy',DateFinale.Date)) then begin if (DM.tbDetailPersonDATEPERS.Value >= DateInitiale.Date)and (DM.tbDetailPersonDATEPERS.Value <= DateFinale.Date)and (DM.tbDetailPersonTYPEMVT.Value = 'ENTREE GERANT') then begin nEntree:=nEntree + DM.tbDetailPersonSOMPERS.Value; end; if (DM.tbDetailPersonDATEPERS.Value >= DateInitiale.Date)and (DM.tbDetailPersonDATEPERS.Value <= DateFinale.Date)and (DM.tbDetailPersonTYPEMVT.Value = 'SORTIE GERANT') then begin nSortie:=nSortie + DM.tbDetailPersonSOMPERS.Value; end; end; DM.tbDetailPerson.Next; end; EditEntree.Text:=FloatToStr(nEntree); EditSortie.Text:=FloatToStr(nSortie); EditSolde.Text:=FloatToStr(nEntree - nSortie); end;
Merci pour votre aide.
Partager