Saisie obligatoire et message

Le
crcam.lemans
Bonjour à Tous,

Dans un masque de saisie, des champs ont été rendus obligatoires à l'aide
des propriétés de la table.

Si on oublie de saisir, à la fin du questionnaire, un message stéréotypé
nous informe. Ce message fait mention du nom du champ (pas toujours très
clair) avec préfixage de la table. Autant dire que l'on cherche le champ
incriminé.

Peut-on, (comme pour le message valide si) créer son propre message dès que
le champ n'est pas rempli sans passer par le visual basic à l'aide des
propriétés. Si non, avez-vous un exemple en VB ?

Merci beaucoup pour votre aide.

Jocelyne
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
Fabien
Le #16358681
crcam.lemans a écrit :
Bonjour à Tous,

Dans un masque de saisie, des champs ont été rendus obligatoires à l'aide
des propriétés de la table.

Si on oublie de saisir, à la fin du questionnaire, un message stéréotypé
nous informe. Ce message fait mention du nom du champ (pas toujours très
clair) avec préfixage de la table. Autant dire que l'on cherche le champ
incriminé.

Peut-on, (comme pour le message valide si) créer son propre message dès que
le champ n'est pas rempli sans passer par le visual basic à l'aide des
propriétés. Si non, avez-vous un exemple en VB ?

Merci beaucoup pour votre aide.

Jocelyne




Salut Jocelyne
Sans passer par VBA tu peux préciser dans les propriétés du champs

Valide Si : <>""
Message si erreur : "Vous devez saisir une information dans ce champs"

En Vba Dans l'evenement 'Perte de focus' du champ
Private Sub Adresse_LostFocus()
If Nz(Me.Adresse, "") = "" Then
MsgBox "erreur"
Me.Adresse.Undo
Me.Adresse.SetFocus
End If
End Sub
@+
Le meruvien
Le #16359961
Bonjour jocelyne, oui tu peut faire un message toi même,
1) tu fait un formulaire independant avec le texte te ton message
2) a la propriété "apres maj" de ton champ, en vba tu met :
if monchamp="" then
docmd.openform "mon message"
end if
et sur fermeture de ce message, tu remet le focus sur ton champ.
roger



"crcam.lemans" 48805204$0$949$
Bonjour à Tous,

Dans un masque de saisie, des champs ont été rendus obligatoires à l'aide
des propriétés de la table.

Si on oublie de saisir, à la fin du questionnaire, un message stéréotypé
nous informe. Ce message fait mention du nom du champ (pas toujours très
clair) avec préfixage de la table. Autant dire que l'on cherche le champ
incriminé.

Peut-on, (comme pour le message valide si) créer son propre message dès
que le champ n'est pas rempli sans passer par le visual basic à l'aide des
propriétés. Si non, avez-vous un exemple en VB ?

Merci beaucoup pour votre aide.

Jocelyne




Eric
Le #16362411
Hello Fabien,

Fabien a écrit :
crcam.lemans a écrit :
Bonjour à Tous,

Dans un masque de saisie, des champs ont été rendus obligatoires à
l'aide des propriétés de la table.

Si on oublie de saisir, à la fin du questionnaire, un message
stéréotypé nous informe. Ce message fait mention du nom du champ (pas
toujours très clair) avec préfixage de la table. Autant dire que l'on
cherche le champ incriminé.

Peut-on, (comme pour le message valide si) créer son propre message
dès que le champ n'est pas rempli sans passer par le visual basic à
l'aide des propriétés. Si non, avez-vous un exemple en VB ?

Merci beaucoup pour votre aide.

Jocelyne



Salut Jocelyne
Sans passer par VBA tu peux préciser dans les propriétés du champs

Valide Si : <>""
Message si erreur : "Vous devez saisir une information dans ce champs"

En Vba Dans l'evenement 'Perte de focus' du champ
Private Sub Adresse_LostFocus()
If Nz(Me.Adresse, "") = "" Then
MsgBox "erreur"
Me.Adresse.Undo
Me.Adresse.SetFocus
End If
End Sub
@+




Perso, je mettrai le code sur l'évènement Sur Sortie, comme ça on ne
sort pas tant qu'on a pas renseigné le champ.

Private Sub LeChamp_Exit(Cancel As Integer)
If IsNull(Me.LeChamp) Then
MsgBox "Champ obligatoire ", vbExclamation
Cancel = True
End If
End Sub
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
crcam.lemans
Le #16380121
"Eric"
Hello Fabien,

Fabien a écrit :
crcam.lemans a écrit :
Bonjour à Tous,

Dans un masque de saisie, des champs ont été rendus obligatoires à
l'aide des propriétés de la table.

Si on oublie de saisir, à la fin du questionnaire, un message stéréotypé
nous informe. Ce message fait mention du nom du champ (pas toujours très
clair) avec préfixage de la table. Autant dire que l'on cherche le champ
incriminé.

Peut-on, (comme pour le message valide si) créer son propre message dès
que le champ n'est pas rempli sans passer par le visual basic à l'aide
des propriétés. Si non, avez-vous un exemple en VB ?

Merci beaucoup pour votre aide.

Jocelyne



Salut Jocelyne
Sans passer par VBA tu peux préciser dans les propriétés du champs

Valide Si : <>""
Message si erreur : "Vous devez saisir une information dans ce champs"

En Vba Dans l'evenement 'Perte de focus' du champ
Private Sub Adresse_LostFocus()
If Nz(Me.Adresse, "") = "" Then
MsgBox "erreur"
Me.Adresse.Undo
Me.Adresse.SetFocus
End If
End Sub
@+




Perso, je mettrai le code sur l'évènement Sur Sortie, comme ça on ne sort
pas tant qu'on a pas renseigné le champ.

Private Sub LeChamp_Exit(Cancel As Integer)
If IsNull(Me.LeChamp) Then
MsgBox "Champ obligatoire ", vbExclamation
Cancel = True
End If
End Sub
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Bonjour,
Eric, tu as raison.

En appliquant la méthode valide si dans les propriétés, cela ne marchait pas
sauf si on revenait en arrière ce qui n'était pas le but.

Le code VB, je voulais éviter car je teste un outil pour une personne qui ne
connait pas sous ACCESS.

J'ai trouvé la solution suivante :

Sur sortie, j'ai utilisé l'expression macro ce qui donne :

Dans condition : Estnull[nom du champ]
1ère action : boiteMSG (exemple : la saisie de ce champ est obligatoire)
2è action : Annulerévenement (permet de rester sur le champ)

Merci à vous.
Jocelyne
Publicité
Poster une réponse
Anonyme