Avant de "sauvegarder" mes données voici ma condition...

Résolu
Leader2000 Messages postés 184 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 28 août 2015 - 8 nov. 2013 à 16:15
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 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!

7 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
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...
0
paustmart Messages postés 19 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 26 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.
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
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.
0
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Derniè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".
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
14 nov. 2013 à 16:23
bonsoir,

tu associes des données type chaine et avoir un résultat en comparant des nombres..

?
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
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 ? :-)
0

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

Posez votre question
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
19 nov. 2013 à 08:02
Allons Simon, il compare compare des .text
'3.12' est supérieur à 12.28' !!!
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
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...
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
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 !
0
Rejoignez-nous