Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
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
"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
"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
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
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.
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.
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.