Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Saisie obligatoire et message

4 réponses
Avatar
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

4 réponses

Avatar
Fabien
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
@+
Avatar
Le meruvien
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" a écrit dans le message de news:
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




Avatar
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
Avatar
crcam.lemans
"Eric" a écrit dans le message de news:

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