#1 Tue 14 September 2010 10:32
- Fabius
- Participant actif
- Date d'inscription: 19 Mar 2008
- Messages: 130
[MB] Controle sur un champ en entier
Bonjour,
Dans le cadre d'un projet j'ai réalisé un programme qui permet a l'utilisateur de mettre a jour un identifiant dans une table qu'il sélectionne. Cependant ce programme étant destiné a des utilisateurs peu confirmés, je souhaiterais ajouter un contrôle qui retourne en arrière lorsque le champ renseigné n'est pas une valeur numérique (une faute de frappe est vite arrivée )
J'ai essayé en testant si la valeur est inférieure à zéro mais cela ne fonctionne pas. Existe t-il une astuce pour s'assurer que ce champ est bien un entier?
Cordialement
Fab
Hors ligne
#2 Tue 14 September 2010 14:17
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MB] Controle sur un champ en entier
Bonjour,
Je ne connais pas trop ton programme mais voici comment moi je le voit
Je demenderais a l'utilisateur d'entrer un valeur via une fonction avec un dialog et un edit text. La valeur entré par l'utilisateur doit être ajouter à une variable "Integer" dans ce cas si l'utilisateur entre des lettre ou caractère, une erreur ce crérra...et donc j'ajouterais quelque chose comme
Code:
Onerror goto jump ... jump : Note "Il faut entrer une valeur numérique seulement" goto debut_de_la_fonction
Mais j'ai jamais mes code du premier coup, a toi de voir
JF
Dernière modification par jean94 (Tue 14 September 2010 14:18)
Hors ligne
#3 Tue 14 September 2010 14:24
- Fabius
- Participant actif
- Date d'inscription: 19 Mar 2008
- Messages: 130
Re: [MB] Controle sur un champ en entier
Bonjour et merci de ta réponse
Je ne connais pas le code onerror. es ce que si je le rajoute en dessous de mon code a la place du morceau en commentaire cela va bien tester si ily'a une erreur ou non ?
Code:
SUB DLG1 If selectioninfo(SEL_INFO_NROWS)=0 then Note "Aucun Ilot n'est selectionné" Else Dialog Title "Mise a jour de l'identifiant quartier de l'ilot selectionné" WIDTH 150 HEIGHT 50 CONTROL STATICTEXT POSITION 15,12 TITLE "Identifiant du quartier" CONTROL EDITTEXT POSITION 110,10 WIDTH 20 id 1 INTO maj CONTROL OKBUTTON POSITION 30, 30 WIDTH 40 TITLE "OK" ID 10 CONTROL CANCELBUTTON POSITION 85, 30 WIDTH 40 TITLE "Annuler" ID 11 end if 'If maj < 0 then 'note "La valeur saisie n'est pas numérique" 'call dlg1 'end if If COMMANDINFO(cmd_info_dlg_ok) THEN CALL dlg2 End If END SUB
Merci
Hors ligne
#4 Tue 14 September 2010 14:37
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MB] Controle sur un champ en entier
Bonjour
Essayez avec la fonction Val(str) qui retourne zéro quand str est du texte pur...
Hors ligne
#5 Tue 14 September 2010 14:54
- Fabius
- Participant actif
- Date d'inscription: 19 Mar 2008
- Messages: 130
Re: [MB] Controle sur un champ en entier
Merci Maurice ca fonctionne, par contre ma valeur devant être stocké dans une variable de type float ou integer pour la suite de mon programme je passe par une variable en caractère puis en flottant pour arriver a ce résultat.
Fab
Hors ligne