Section C
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Section C

Bienvenue sur le Forum des étudiants de la Section C et leurs amis
 
AccueilAccueil  GalerieGalerie  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Cartes Pokémon : la prochaine extension ...
Voir le deal

 

 [Delphi]Problème de division Monnaie/entier[Résolu Blamzia]

Aller en bas 
AuteurMessage
ScOrPiOn
Mister Forum 2006
Mister Forum 2006
ScOrPiOn


Nombre de messages : 3090
Age : 44
Date d'inscription : 11/08/2004

[Delphi]Problème de division Monnaie/entier[Résolu Blamzia] Empty
MessageSujet: [Delphi]Problème de division Monnaie/entier[Résolu Blamzia]   [Delphi]Problème de division Monnaie/entier[Résolu Blamzia] EmptyLun 28 Nov - 13:11

Salut
pour calculer le prix unitaire moyen pondéré, je dois avoir la forumule suivante à appliquer sur deux tables "retour " et "reception"
pump:=la somme (quantité*prix) /quantité totale;

voici le code :

Code:

procedure TForm1.qtefExit(Sender: TObject);
var  pin,prein,pump:currency;
    qtotal,qt1,qt2: integer;
begin
pin:=0;
prein:=0;
pump:=0;
qtotal:=0;
qt1:=0;
qt2:=0;
pbretour.first;
while not pbretour.eof do
begin
if(inttostr(pbretour.fieldbyname('code_pro').asinteger)=codbox.Text) and ((pbretour.fieldbyname('etat').asstring='i') or  (pbretour.fieldbyname('etat').asstring=''))then
begin
pin:=pin+pbretour.fieldbyname('prix').ascurrency;
qt1:=qt1+pbretour.fieldbyname('qt').asinteger;
end;
pbretour.next;
end;
pin:=pin/qt1;

pbrecept.first;
while not pbrecept.eof do
begin
if(inttostr(pbrecept.fieldbyname('code_pro').asinteger)=codbox.Text) and ((pbrecept.fieldbyname('etat').asstring='i') or  (pbrecept.fieldbyname('etat').asstring=''))then
begin
prein:=prein+pbrecept.fieldbyname('prix').ascurrency;
qt2:=qt2+pbrecept.fieldbyname('qt').asinteger;
end;
pbrecept.next;
end;
prein:=prein/qt2;

pump:=prein+pin;
pumpout.value:=pump;

end;

le problème c'est qu'il m'affiche que c'est une opération à virgukle flotante incorrecte
et je ne veux aps suivre le conseil d'un amis qu m'a dit d'arrondir les valeurs, car c'est de l'argent que je manipule!

aidez-moi!


Dernière édition par le Lun 28 Nov - 15:06, édité 1 fois
Revenir en haut Aller en bas
ScOrPiOn
Mister Forum 2006
Mister Forum 2006
ScOrPiOn


Nombre de messages : 3090
Age : 44
Date d'inscription : 11/08/2004

[Delphi]Problème de division Monnaie/entier[Résolu Blamzia] Empty
MessageSujet: Re: [Delphi]Problème de division Monnaie/entier[Résolu Blamzia]   [Delphi]Problème de division Monnaie/entier[Résolu Blamzia] EmptyLun 28 Nov - 13:52

voici l apremière solution qui me vient d'un autre forum!
je l'ai testé et ça marche, il me reste à vérifier les calculs !
Code:
select (Sum(Rec.Quantite * Prix) / Sum(Rec.Quantite)) as Pump from Reception as Rec inner join Retour as Ret on Rec.ChampCommun=Ret.ChampCommun

je vous informerai de la suite
@+
Revenir en haut Aller en bas
ScOrPiOn
Mister Forum 2006
Mister Forum 2006
ScOrPiOn


Nombre de messages : 3090
Age : 44
Date d'inscription : 11/08/2004

[Delphi]Problème de division Monnaie/entier[Résolu Blamzia] Empty
MessageSujet: Re: [Delphi]Problème de division Monnaie/entier[Résolu Blamzia]   [Delphi]Problème de division Monnaie/entier[Résolu Blamzia] EmptyLun 28 Nov - 15:04

bon je n'ai utilisé que la partie select sur chaque table séparéments ensuite j'ai calculé la moyenne entre les résultats des deux tables!
les résultats sont bons!
Revenir en haut Aller en bas
Contenu sponsorisé





[Delphi]Problème de division Monnaie/entier[Résolu Blamzia] Empty
MessageSujet: Re: [Delphi]Problème de division Monnaie/entier[Résolu Blamzia]   [Delphi]Problème de division Monnaie/entier[Résolu Blamzia] Empty

Revenir en haut Aller en bas
 
[Delphi]Problème de division Monnaie/entier[Résolu Blamzia]
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Section C :: L'entraide Informatique :: Développement et Programmation-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser