[débutant]champs calculé

Soyez le premier à donner votre avis sur cette source.

Vue 11 729 fois - Téléchargée 2 935 fois

Description

Petite application pour debutant réalisé avec Delphi 6 qui permet
de calculer des valeurs (Prix Horstva, Prix tva compris, etc ) a partir de champs provenant
d'une base de données.

Ici je me suis servis de Paradox.

J'ai mis pas mal de commentaires,

Pour que l'application fonctionne, vous devez configurez le fichier
unit2.dfm avec vos parametres :

a la ligne :
-------------

object Table1: TTable
DatabaseName = 'c:\votrechemin' <= Remplacez ce chemin par le votre!!!
TableName = 'stock.db'
Left = 521
Top = 3

Compliez le tout et ca devrait rouler...

Tout est dans le .zip

Source / Exemple :


procedure TForm2.Button2Click(Sender: TObject);
begin
//Operation

        //Prix unitaire hors tva

     table1.fieldbyname('puhtva').asfloat := table1.fieldbyname('pu').asfloat *(100
   - table1.fieldbyname('remise').asfloat)/100;

      // tva

      table1.FieldByName('tva').AsFloat := table1.fieldbyname('PuHtva').AsFloat

  • table1.fieldbyname('tauxtva').asfloat / 100;
// prix unitaire tvacomprise table1.FieldByName('putvac').asfloat := table1.fieldbyname('puhtva').asfloat + table1.fieldbyname('tva').AsFloat; end;

Conclusion :


Enjoy

http://membres.lycos.fr/annmysql

Codes Sources

A voir également

Ajouter un commentaire Commentaires
jackalunion Messages postés 128 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 14 juillet 2008
25 juin 2008 à 03:49
1+1 est impossible
en empreinte un 1 et ont le rend pas
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
16 mars 2004 à 19:31
Il ne faudrait pas confondre faire des calculs avec des champs et utiliser des champs calculés !

En cliquant sur "Calculez les champs", on déclenche un exception du fait que l'ensemble n'est pas en mode édition et c'est normal.

Si les champs dans lesquels tu veux écrire sont bien déclarés comme champs calculés (fkCalculated), tu dois aussi utiliser l'évènement OnCalcFields de l'ensemble de données et y mettre ton code comme suit :
procedure TForm2.Table1CalcFields(DataSet: TDataSet);
begin
//Prix unitaire hors tva
table1.fieldbyname('puhtva').asfloat :=
table1.fieldbyname('pu').asfloat * (100
- table1.fieldbyname('remise').asfloat) / 100;

// tva
table1.FieldByName('tva').AsFloat :=
table1.fieldbyname('PuHtva').AsFloat
* table1.fieldbyname('tauxtva').asfloat / 100;

// prix unitaire tvacomprise
table1.FieldByName('putvac').asfloat :=
table1.fieldbyname('puhtva').asfloat
+ table1.fieldbyname('tva').AsFloat;
end;
L'utilité du bouton intitulé "Calculez les champs" devient ainsi nulle.

A celà j'ajouterai que, comme les tables physiques sont dans le même dossier que l'application (stocks.*), il n'est pas utile de préciser un chemin dans la propriété DataBaseName de Table1.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.