Calcul des sommes d'un champ dans une base paradox

Résolu
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017 - Modifié le 10 mai 2023 à 20:31
 HAMDI - 10 mai 2023 à 11:00

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;

13 réponses

tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
1 avril 2011 à 17:47
form 2 est l'emplacement ou ce trouve ma table !!
3
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
1 avril 2011 à 18:47
merci jai trouver la solution ;-) le code etait bon c'est juste qu'il ne faut pas avoir de quantité vide voila !!
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
Modifié le 10 mai 2023 à 20:34

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

0
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
24 avril 2012 à 12:30
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
Modifié le 10 mai 2023 à 20:33

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

0
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
24 avril 2012 à 15:13
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
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
24 avril 2012 à 16:53
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
0
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
25 avril 2012 à 11:47
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
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
25 avril 2012 à 12:56
[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
0
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
30 avril 2012 à 19:17
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
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
1 mai 2012 à 22:05
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
0
tsainvet Messages postés 95 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 14 décembre 2017
5 mai 2012 à 18:48
merci Mr cantador !!
0

Merci Merci Merci

je rechercher depuis long temps

tien je trouve ma réponse Merci Mr Cantador et Merci aussi Mr tsainvet.

0
Rejoignez-nous