Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015
-
8 nov. 2013 à 16:15
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 2019
-
26 nov. 2013 à 17:48
Bonjour,
J'ai trois "edits" (edit1, edit2, and edit3). J'ai écrit ces codes afin d'empêcher que l'"edit2" ne peut recevoir une valeur supérieure à "edit1". Ça marche!
Mais alors je voulais bien l'appliquer sur un bouton de "sauvegarder". Cela veut dire qu'aucune sauvegarde ne peut se faire si "edit2" ou "edit3" portent une valeur supérieure à "edit1".
if strToFloat(edit1.Text) >= strToFloat(edit2.Text) then begin end else qryTest.Append; qryTest.fieldByName('matricule').AssTring:= edit1.Text; qryTest.fieldByName('nom').AssTring:= edit2.Text; qryTest.fieldByName('prenom').AssTring:= edit3.Text; qryTest.Post; else showmessage('Attention: un des champs contient une valeur superieure !'); end;
Ces codes marchent avec sans codes de sauvegarde. Mais quand j'ajoute ces codes de sauvegarde. Ça marchent!
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 8 nov. 2013 à 22:31
Hello,
Ces codes marchent avec sans codes de sauvegarde. Mais quand j'ajoute ces codes de sauvegarde. Ça marchent!
Euh...c'est pas faux...Plus tu pédales moins vite, moins t'avances d'avantage...
paustmart
Messages postés19Date d'inscriptiondimanche 2 novembre 2003StatutMembreDernière intervention26 novembre 2013 26 nov. 2013 à 10:21
Comme il a été dit :
if strToFloat(edit1.Text) >= strToFloat(edit2.Text) then begin
end else
qryTest.Append;
qryTest.fieldByName('matricule').AssTring:= edit1.Text;
qryTest.fieldByName('nom').AssTring:= edit2.Text;
qryTest.fieldByName('prenom').AssTring:= edit3.Text;
qryTest.Post;
else
showmessage('Attention: un des champs contient une valeur superieure !');
end;
ne peut fonctionner correctemment. Mais ceci : oui (Au moins si certaines conditions sont remplies)
if (strToFloat(edit1.Text) <= strToFloat(edit2.Text)) or
(strToFloat(edit1.Text) <= strToFloat(edit3.Text))
then showmessage('Attention: un des champs contient une valeur superieure !')
else Begin
qryTest.Append;
qryTest.fieldByName('matricule').AssTring:= edit1.Text;
qryTest.fieldByName('nom').AssTring:= edit2.Text;
qryTest.fieldByName('prenom').AssTring:= edit3.Text;
qryTest.Post;
end;
Maintenant je ne savais pas qu'un nom ou un prénom était représenté par un nombre.
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 26 nov. 2013 à 10:45
Mouais... Mais quand même, comparer un nom et un prénom... ça ne va pas marcher... A moins que le gars ne s'appelle "4588,66 6669787" mais perso, je n'en connais pas beaucoup... Ce code est absurde.
divin1975
Messages postés81Date d'inscriptionmardi 7 juin 2011StatutMembreDernière intervention 9 novembre 2013 9 nov. 2013 à 00:16
Olala, je m'excuse d'abord pour la reptition du mot "sauvegarde". Mais c'est juste pour pouvoir m'expliquer!!!
Je voulais dire exactement ceci: sans l'ajout de la ligne de codes de "sauvegarde" ... tout marche! Et lorsque j'ajoute la dite ligne de codes de "sauvegarde". La condition de la non "sauvegarde" n'obei pas au cas où une valeur introduite dans "edit2 ou edit3" n'est pas egale à "edit1".
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 18 nov. 2013 à 09:57
Bonjour,
Leader2000 ou Divin1975 ? Faudrait te choisir un pseudo et le garder...
Il manque du code... Ce que tu as posté ne peut pas fonctionner, il y a un else en trop ou il manque le if qui est devant.
@Cantador : Je n'ai pas compris ta réponse... Une contamination ? :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 19 nov. 2013 à 09:32
euh... M. Dubois, si Edit2 contient un "nom", je ne vois pas trop ce que ça va donner... A part une exception EConvertError...
Je me répète, mais ce code ne marche pas tel quel car incomplet. Je veux bien aider (comme la plupart d'entre nous), mais on ne peut pas deviner ce que veut faire l'auteur...
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 26 nov. 2013 à 17:48
Je suis bien d'accord avec toi Simon, ce code est très bizarre !
Pour la première réponse de Cantador je disais juste qu'effectivement on peut comparer des pseudo nombres (sous forme de texte) mais que cela n'est pas significatif du même nombre converti en integer
Quant au résultat d'une telle comparaison là c'est le pot au noir !
26 nov. 2013 à 10:21
if strToFloat(edit1.Text) >= strToFloat(edit2.Text) then begin
end else
qryTest.Append;
qryTest.fieldByName('matricule').AssTring:= edit1.Text;
qryTest.fieldByName('nom').AssTring:= edit2.Text;
qryTest.fieldByName('prenom').AssTring:= edit3.Text;
qryTest.Post;
else
showmessage('Attention: un des champs contient une valeur superieure !');
end;
ne peut fonctionner correctemment. Mais ceci : oui (Au moins si certaines conditions sont remplies)
if (strToFloat(edit1.Text) <= strToFloat(edit2.Text)) or
(strToFloat(edit1.Text) <= strToFloat(edit3.Text))
then showmessage('Attention: un des champs contient une valeur superieure !')
else Begin
qryTest.Append;
qryTest.fieldByName('matricule').AssTring:= edit1.Text;
qryTest.fieldByName('nom').AssTring:= edit2.Text;
qryTest.fieldByName('prenom').AssTring:= edit3.Text;
qryTest.Post;
end;
Maintenant je ne savais pas qu'un nom ou un prénom était représenté par un nombre.
26 nov. 2013 à 10:45