totob0
Messages postés19Date d'inscriptionjeudi 4 janvier 2007StatutMembreDernière intervention28 novembre 2008
-
21 févr. 2007 à 14:18
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
24 févr. 2007 à 09:33
bonjour, j'ai besoin d'aide.
je voudrais calculer le total des valeurs d'un champ "prix_commandes " de ma table commandes et voici mon code;
var
totalproduits:real;
vrai:boolean;
begin
totalproduits:=0.0;
vrai:=tablecommandes.Bof;
while not (tablecommandes.Eof) do
begin
totalproduits:=( (totalproduits+tablecommandes.FieldValues['prix_commandes'] ) );
tablecommandes.Next;
end;
edit2.Text:=floattostr(totalproduits);
end;
quand j'appuie sur le bouton , il me fait le calcul , mais le problème et quequand j'ajoute un autre element dans ma table au lieu d'ajouter la dernière valeur au total , il la rajoute juste à la dernière valeur de la table exemple
supposons que ma table contient 1,2,3,4 total=10, j'appuie sur le boutton et puis je rajoute 5 dans ma table que je reappuie le total doit etre = 15 au lieu de ça il reprend 5+4 et me donne 9 j'epère que ma question est clair
merçi de me repondre svp...
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 24 févr. 2007 à 09:33
Salut,
Il serait largement plus efficace d'utiliser une requête SQL pour faire ça au lieu de parcourir les lignes de la table une à une...
De plus, tel qu'est rédigé le code ci-dessus (tablecommandes.FieldValues['prix_commandes']), l'emploi de variants freine encore un peu plus l'exécution.
Il serait plus judicieux d'utiliser TableCommandes.FieldByName('prix_commandes').AsFloat (ou AsCurrency, tout dépend du type de ton champ).
May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.afipa.net/