Calcul des sommes d'un champ dans une base paradox [Résolu]

tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 1 avril 2011 à 17:23 - Dernière réponse : tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention
- 5 mai 2012 à 18:48
bonjour voila jais une base de donnée dans la quel j'ai un champ quantité

jaimerais pourvoir additionné tous les chiffres de ce champ et les affichés dans un Tedit ..


voici ce que jai fait qu marche un coup sur deux en me mettant un message erreur ..(( le projet.exe a provoqué une classe d'exception EVarianTypeCastError avec le message 'impossible de convertir le variant de type (Null) en type (Integer).

voila si quelqu'un peu aidé svp


procedure TForm6.FormCreate(Sender: TObject);
begin
Edit1.text:='0'; //Efface le contenu de l edit1
form2.TH1.First; //positionnée sur le premier enregistrement
repeat //reperter la procedure
Edit1.text:=inttostr(strtoint(edit1.text)+form2.th1.FieldValues['Quantité']);
form2.TH1.next;
until form2.TH1.eof=true; //arretre la fonction REPEAT A la fin au dernier enregistrement
end;
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 1 avril 2011 à 17:47
3
Merci
form 2 est l'emplacement ou ce trouve ma table !!

Merci tsainvet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de tsainvet
Meilleure réponse
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 1 avril 2011 à 18:47
3
Merci
merci jai trouver la solution ;-) le code etait bon c'est juste qu'il ne faut pas avoir de quantité vide voila !!

Merci tsainvet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de tsainvet
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 4 avril 2011 à 14:22
0
Merci
Bonjour,

le code etait bon

bouh , quelle horreur..

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
   WITH Query1.SQL DO
  BEGIN
    Clear;
    Add('Select SUM(MonChampQuantite) as Total  from MaTable ');
     Query1.Open;
   Edit1.text := IntToStr(Query1.FieldByName('Total').Value);
  END;

end;

cantador
Commenter la réponse de cs_cantador
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 24 avril 2012 à 12:30
0
Merci
oopss oui j’avoue que lorsque je dit était bon c'est pas vraiment le terme que j'aurais du employer !!
car j 'arrive pas comprendre un coup ça marche un coup ça marche plus !!
je vais donc essayer votre solution !! car j ai a mes souvenir qu'a chaque réponse émis pas vous !! la solution était dans vos écrit .
je vous remercie Mr Cantador..
je re posterais a ce sujet afin de validé le dénouement ...

cordialement TS
Commenter la réponse de tsainvet
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 24 avril 2012 à 13:29
0
Merci
bon je reviens sur le sujet !!

jai oublié de précisé que j'utilise bd Paradox.

du coup ce que vous avez proposé ne va pas !

donc je re poste la parti problématique avec plus élément afin peut etre obtenir plus d'information ..

comme je l'ai souligné j' apprend et découvre les bases de données donc je fait plein d'erreur !! j'ai choisie les bases paradox car c'est en cherchant des tutoriels que je suis tombé sur ce qui me paraissais le plus compréhensible vu mon niveau, je panse que j améliorerais mais connaissance en allant sur du sql après mais je souhaite tous de même finir mon petit logiciel avec les bases paradox afin de comprendre .

voila :

alors ma form appelle BDTH1

dessus j'y est placé
un DBGrid nommé DBgrid1,TTablenomé Table2,TDataSource nommé Datasource1

j'ai donc dans ma tabe2 plusieurs élément dont un est (Quantite)

j'ai placé sur ma forme un Tedit nommé edit1

voila jai donc créé un formulaire de saisie ce qui me permet de remplir ma base donc tous cela fonction.


après multiple recherche j'ai donc trouvé ce code ..
pour adittionné tous les chiffres du champs Quantite de ma base.
cela a fonctionné mais bizarrement une fois sur deux j’obtiens ce message:

((Le project1.exe a provoqué une classe d'exception EDBEngineError avec le message Impossible de convertir le variant de type (Null) en type(interger).))

dans un premier temps j'aimerais comprendre ce que signifie ce message ?
et si il y a une façon de mieux faire ?
si possible avec de l'explication afin que je puis les mettre dans mon petit cahier de note ;-)




TBDTH1.FormCreate(sender:Tobject);
Begin
Table2.Active:=true;
Edit1.text:='0'; pour effacé le contenue de edit1
Table2.first;
Repeat
Edit1.text:=instostr(stroint(edit1.txt)+BTH1.Table2.FieldValues['Quantite']);
Table2.next;
until Table2.eof=true;
end;


en vous remerciant..



titi
Commenter la réponse de tsainvet
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 24 avril 2012 à 15:13
0
Merci
titi

finalement j'aimerais bien voir avec ton idée ?
quel sont les compostants a placé sur ma form? et est ce compatible avec ma base de donnée base.db ?

jai vraiment envie de comprendre je veillerais a voir si je trouve des tuto a ce sujet mais si vous avez un tous petit peu de temps a me consacré j'en serais ravi !!


cordialement Thierry S
Commenter la réponse de tsainvet
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 24 avril 2012 à 16:53
0
Merci
Bonjour,

paradox ne sait pas additionner des quantités réelles
et des quantités nulles
il faut donc tester pour ne jamais en avoir..
par exemple mettre 0 si vide.

sinon paradox n'est franchement pas une BDD fameuse.
je t'encourage à passer rapidement à autre chose.

cantador
Commenter la réponse de cs_cantador
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 25 avril 2012 à 11:47
0
Merci
merci du conseil et j 'en doute pas !! mais ne connaissant pas trop les autres mode pourriez vous m'orientez ?

car ma crainte est de pouvoir adapté mon application ..

pour faire simple je conçois une application de gestion de cave a vin
pour un ami qui ma rendu multiple service et j aimerais vraiment lui rependre l'appareil..

j'ai donc fait cette application a ça demande et avec les besoins qu'il lui conviendrai , bon je l'ai un peu personnalisé !!
pas forcement au gout de tous le monde.

je vais posté ma source et j aimerais si vous aviez le temps ,y jeté un coup d’œil !! j accepte toute les mauvais critiques !! sans problème ! ;-)
sa ne peu que faire avancé et me dire comment réadapté une nouvelle façon de géré les base de donné.

en vous remerciant .

Ps je posterais ici des que j'aurais mis en ligne mes sources..
cordialement TS
titi
Commenter la réponse de tsainvet
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 25 avril 2012 à 12:56
0
Merci
[i]
une application de gestion de cave a vin/i

Voilà une bonne idée pour mettre en valeur les produits de nos terroirs.

les régions, les vignobles, les domaines, les propriétaires,
les crus, les millésimes etc.

une bdd pas très compliquée et intéressante.

tout dépend bien entendu de l'objectif que l'on s'est fixé..
si il y a un côté commercial, cela deviendra plus ardu.

Choisis FireBird (ou une autre base sql) comme sgbd (avec des compos dédiés) si celle-ci doit fonctionner en réseau ou access (avec ADO) à défaut en mode local (ça peut faire l'affaire..)

en attendant, je vais me déboucher une bonne bouteille !

cantador
Commenter la réponse de cs_cantador
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 30 avril 2012 à 19:17
0
Merci
lol ..

non c'est juste a titre privé et simplement pour rendre service a un ami!
il doit possédé environs 200 a 300 bouteilles une cave qui bouge beaucoup vue qu'il est a la retraite et reçois souvent du monde.
du coup ça ne sera qu'une application local et aucun accès internet .



viola a la votre !!!!

cordialement TS
Commenter la réponse de tsainvet
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 1 mai 2012 à 22:05
0
Merci
si c'est en local, alors pas de soucis majeurs..

firebird et des composants qui vont avec
ou ADO + access

et c'est tout bon

cantador
Commenter la réponse de cs_cantador
tsainvet 96 Messages postés samedi 27 mars 2004Date d'inscription 14 décembre 2017 Dernière intervention - 5 mai 2012 à 18:48
0
Merci
merci Mr cantador !!
Commenter la réponse de tsainvet

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.