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

MsgBox sur évènement After_Update d'un champ de formulaire !

2 réponses
Avatar
Access13090
Bonjour à toute la communauté,

Je rencontre un petit problème avec le résultat de l'exécution d'un
MsgBox.

Dans un formulaire, je suis amené à saisir une date et je dois m'assuré
que la saisie de ladite date corresponde à un lundi quelqu'il soit dans
l'année.
Donc, sur l'évènement After_Update() de mon champ [DATE], j'ai associé
la procédure ci-dessous.
Le but de cette procédure est d'afficher un MsgBox indiquant une erreur
de saisie, d'annuler la saisie et d'activer ou revenir sur la champ
[DATE] permettant de saisir une date correcte.
Seul hic, lorsque je clique sur le bouton "Non", le MsgBox se referme
effectivement, mais le curseur ne revient pas sur le champ [DATE].

Private Sub DATE_AfterUpdate()
Dim Verif As Integer
If (Weekday([DATE]) <> 2) Then
Verif = MsgBox("La date saisie n'est pas un lundi ! Voulez-vous
continuez ?", 4, "Avertissement")
If Verif = vbNo Then
DoCmd.GoToControl "[DATE]"
Exit Sub
End If
End If
End Sub

Si quelqu'un avait une idée.
Merci d'avance

2 réponses

Avatar
Michel_D
Bonjour,

Autre solution remplacer la date saisie par une date correspondant au
lundi et pour avoir le lundi par rapport à une date saisie quelconque :

LundiÚteAdd("d",1-DatePart("w",DateSaisi,2),DateSaisi)


"Access13090" a écrit dans le message de news:
Bonjour à toute la communauté,

Je rencontre un petit problème avec le résultat de l'exécution d'un
MsgBox.

Dans un formulaire, je suis amené à saisir une date et je dois m'assuré
que la saisie de ladite date corresponde à un lundi quelqu'il soit dans
l'année.
Donc, sur l'évènement After_Update() de mon champ [DATE], j'ai associé
la procédure ci-dessous.
Le but de cette procédure est d'afficher un MsgBox indiquant une erreur
de saisie, d'annuler la saisie et d'activer ou revenir sur la champ
[DATE] permettant de saisir une date correcte.
Seul hic, lorsque je clique sur le bouton "Non", le MsgBox se referme
effectivement, mais le curseur ne revient pas sur le champ [DATE].

Private Sub DATE_AfterUpdate()
Dim Verif As Integer
If (Weekday([DATE]) <> 2) Then
Verif = MsgBox("La date saisie n'est pas un lundi ! Voulez-vous
continuez ?", 4, "Avertissement")
If Verif = vbNo Then
DoCmd.GoToControl "[DATE]"
Exit Sub
End If
End If
End Sub

Si quelqu'un avait une idée.
Merci d'avance




Avatar
Access13090
Michel_D a couché sur son écran :
Bonjour,

Autre solution remplacer la date saisie par une date correspondant au
lundi et pour avoir le lundi par rapport à une date saisie quelconque :

LundiÚteAdd("d",1-DatePart("w",DateSaisi,2),DateSaisi)


"Access13090" a écrit dans le message de
news:


Bonjour Michel,
C'est encore mieux et plus simple.
Merci beaucoup.