Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015
-
25 mai 2007 à 20:27
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
27 mai 2007 à 03:20
Salut Tout le monde!
J'ai une petite préoccupation d'avoir un Tedit decimal.
J'ai écrit ces codes ci-après juste pour me permettre d'exécuter les points suivants:
1. selectionner un mois à partir du combobox3
2. Après la selection, il fait le total du champ 'debit' de tous les enregistrements du mois choisi (ou selectionné)
3. Il impute ce total dans un Tedit (Tedit1)
Que voudrai-je vous demander afin d'être aidé?
les données saisies (ou enregistrées) dans le champ 'debit' viennent avec des chiffres decimaux et le total general
est suivi des chiffres décimaux. (exemple: 1200,45).
Curieusement, dans le Tedit31 là où le total devra apparaître...il s'affiche brutement sans les chiffres décimaux.
Comment pourrai-je faire afin que les décimaux apparaissent dans mon Tedit1.
Pour conclure, j'informe que ces codes marchent parfaitement. Juste le cas dudit Tedit.
Grand merci d'avance.
Leader2000
procedure TFrControloOrcamentais.BitBtn12Click(Sender: TObject);
var a : integer;
begin
AdoComptes.Filter:='mois='+ quotedstr(combobox3.Text);
AdoComptes.Filtered:=True;
a:=0;
While not AdoComptes.Eof do begin
a:= a+AdoComptes.fieldByName('debit').AsInteger;
AdoComptes.Next;
end;
Edit1.Text:= inttostr(a);
AdoComptes.Filtered:= false;
AdoComptes.First;
end;
Oniria
Messages postés292Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention18 décembre 20143 26 mai 2007 à 00:24
Bonjour,
La réponse est très simple, on ne peut pas additionner des entiers et avoir un résultat décimal. A la place de AdoComptes.fieldByName('debit').AsInteger; il faut mettre AdoComptes.fieldByName('debit').AsFloat; a doit être un real et pour convertir un reel en texte, il faut utiliser floatToStr.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 27 mai 2007 à 03:20
procedure TFrControloOrcamentais.BitBtn12Click(Sender: TObject);
var R : double;
begin
AdoComptes.Filter:='mois='+ quotedstr(combobox3.Text);
AdoComptes.Filtered:=True;
R := 0;
While not AdoComptes.Eof do begin
R := + AdoComptes.fieldByName('debit').AsFloat;
AdoComptes.Next;
end;
Edit1.Text:= FloatToStr(R);
AdoComptes.Filtered := false;
AdoComptes.First;
end;