Controle de saisie de données sur une zone de texte

Le
Nesta
Bonjour à tous,

Je souhaite effectuer un controle de saisie sur une zone de texte d'un
formulaire.
Voici mode code :

While (Me.MaZoneDeTexte.Value = "")

MsgBox "Vous devez renseigner ce champ", vbCritical

Wend

Lors de l'exécution, pas moyen de faire cette boucle se valider correctement
: c'est comme si la zone de texte est effectivement renseignée !
J'ai essayé aussi avec Null (en attribuant par défaut cette valeur à ma zone
de texte) :

While (Me.MaZoneDeTexte.Value = Null)

MsgBox "Vous devez renseigner ce champ", vbCritical

Wend

mais ça me fait la même chose !
Est-ce que quelqu'un peut m'expliquer pourquoi svp ? Merci d'avance !

Nesta
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gelos64
Le #6328681
Null n'est pas une valeur, il faut faire le test
isnull(Me.MaZoneDeTexte.Value ) =true

Mais le plus simple c'est de convertir en string en concaténant avec un ""
et de tester une chaine vide

While (Me.MaZoneDeTexte.Value &""= "")


"Nesta"
Bonjour à tous,

Je souhaite effectuer un controle de saisie sur une zone de texte d'un
formulaire.
Voici mode code :
Lors de l'exécution, pas moyen de faire cette boucle se valider
correctement : c'est comme si la zone de texte est effectivement
renseignée !
J'ai essayé aussi avec Null (en attribuant par défaut cette valeur à ma
zone de texte) :


3stone
Le #6328661
Salut,

"Nesta"
| Je souhaite effectuer un controle de saisie sur une zone de texte d'un
| formulaire.
| Voici mode code :
|
| While (Me.MaZoneDeTexte.Value = "")
|
| MsgBox "Vous devez renseigner ce champ", vbCritical
|
| Wend


Ou veux tu faire tourner une telle... horreur ? ;-)

Si tu veux qu'un champ soit obligatoire, soit tu configure
cela dans les paramètres de la tables, soit tu vérifies
cette zone de texte dans l'événement "Avant mise à jour"
du formulaire !

Et là, un simple :

if Isnull(Me!ZdT) then
Cancel = true 'annule la mise à jour
Msgbox "Vous devez renseigner le champ ZdT"
End if

Pas de code qui boucle inutilement (et dangereusement)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Nesta
Le #6328651
Lol !! Je sais, c'est pas très joli comme code, mais c'est comme ça quand on
n'est pas un expert !
En tous cas, merci à tous les deux pour vos solutions que je vais tester de
ce pas !

A bientôt !


Nesta


"3stone"
Salut,

"Nesta"
| Je souhaite effectuer un controle de saisie sur une zone de texte d'un
| formulaire.
| Voici mode code :
|
| While (Me.MaZoneDeTexte.Value = "")
|
| MsgBox "Vous devez renseigner ce champ", vbCritical
|
| Wend


Ou veux tu faire tourner une telle... horreur ? ;-)

Si tu veux qu'un champ soit obligatoire, soit tu configure
cela dans les paramètres de la tables, soit tu vérifies
cette zone de texte dans l'événement "Avant mise à jour"
du formulaire !

Et là, un simple :

if Isnull(Me!ZdT) then
Cancel = true 'annule la mise à jour
Msgbox "Vous devez renseigner le champ ZdT"
End if

Pas de code qui boucle inutilement (et dangereusement)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Publicité
Poster une réponse
Anonyme