Message si un contrôle de formulaire est vide

Le
butch
Bonjour,

Dans un formulaire basé sur une table, comment faire pour :

1.- Faire afficher un message à l'usager lorsqu'il quitte un contrôle (avec
TAB ou ENTER) et qu'il a oublié d'y insérer une valeur?

2.- Faire en sorte que le curseur revienne automatiquement dans le champ où
la valeur a été oubliée?

-
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
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
3stone
Le #6268101
Salut,

"butch"
| Dans un formulaire basé sur une table, comment faire pour :
|
| 1.- Faire afficher un message à l'usager lorsqu'il quitte un contrôle (avec
| TAB ou ENTER) et qu'il a oublié d'y insérer une valeur?
|
| 2.- Faire en sorte que le curseur revienne automatiquement dans le champ où
| la valeur a été oubliée?


Si des champs doivent impérativement être renseignés, le mieux est de
le définir directement dans la table en définissant correctement leurs
propriétés respectives.

Pour le reste, il n'est pas si simple de définir : "lorsqu'il quitte un contrôle..."
car rien ne l'oblige à y rentrer !

La seule certitude, est que, lors de la sauvegarde d'un enregistrement,
l'événement "Sur avant mise à jour" du formulaire se déclenche.
Et c'est de ce fait l'endroit indiqué pour faire un contrôle sur les saisies.

Soit simplement, en testant les textbox et l'affichage d'un message qui
indique le manque de données, soit plus sophistiqué, en testant
les textbox et dès la première erreur - d'y renvoyer le curseur.

Dans les deux cas, on annule la mise à jour du formulaire par un simple :

Cancel = True.

La vérification de saisie peut ressembler à ceci :

Dim ctl As Control
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then
If IsNull(ctl) Then
Cancel = True
ctl.SetFocus
MsgBox "Vous devez saisir les données de ce champ !"
Exit For
End If
End If
Next

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
koalavert
Le #6268081
On 14 avr, 21:00, butch
Bonjour,


2.- Faire en sorte que le curseur revienne automatiquement dans le champ où
la valeur a été oubliée?

salut Butch, essai ça pour le 2, pour le 1 je ne suis pas assez calé!

Me.nomdetonchamp.setfocus
bye
PS/ pour le 1 peut etre (sans garantie): if me.champ.value="" then
msgbox " tu vas remplir ce champ feignant!"

butch
Le #6268051
Bonjour à vous deux,

Effectivement, je vais revenir à la source (table) plutôt que d'essayer de
gérer cela directement dans le formulaire. Je croyais (faussement...) qu'il
était aussi facile de le faire dans le formulaire que dans la table.

Merci encore.
--
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.



Bonjour,

Dans un formulaire basé sur une table, comment faire pour :

1.- Faire afficher un message à l'usager lorsqu'il quitte un contrôle (avec
TAB ou ENTER) et qu'il a oublié d'y insérer une valeur?

2.- Faire en sorte que le curseur revienne automatiquement dans le champ où
la valeur a été oubliée?

----------
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.


Publicité
Poster une réponse
Anonyme