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

Résolu
Leader2000
Messages postés
187
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
15266
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 juin 2022
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
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
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
83
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
14
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
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
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
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
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