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

set focus récalcitrant

4 réponses
Avatar
Dan
Bonjour à tous,

Je cherche à maîtriser le message d'avertissement pour empêcher
l'utilisateur de laisser un champ null :

Private Sub DD_Résumé_AfterUpdate()
Dim réponse As Integer
If IsNull(Me.DD_Résumé) Then
réponse = MsgBox("Le résumé de la demande est obligatoire !", vbOKOnly,
"Saisie des demandes")
Me.DD_Résumé.SetFocus
End If
End Sub

Si le champ ne contient pas de données, le message s'affiche bien, mais
Access se positionne sur le champ suivant malgré le setfocus, alors que je
voudrais qu'il revienne sur le champ.

Pourquoi ?
Merci !
Dan

4 réponses

Avatar
Raymond [mvp]
Bonjour.

dans ce cas précis il faut placer tes fonctions dans l'événement
béforeUpdate du contrôle et charger le cancel à True en cas d'erreur, ce qui
laissera le focus sur le champs en cours.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Dan" a écrit dans le message de
news: 41ab4890$0$30441$
Bonjour à tous,

Je cherche à maîtriser le message d'avertissement pour empêcher
l'utilisateur de laisser un champ null :

Private Sub DD_Résumé_AfterUpdate()
Dim réponse As Integer
If IsNull(Me.DD_Résumé) Then
réponse = MsgBox("Le résumé de la demande est obligatoire !", vbOKOnly,
"Saisie des demandes")
Me.DD_Résumé.SetFocus
End If
End Sub

Si le champ ne contient pas de données, le message s'affiche bien, mais
Access se positionne sur le champ suivant malgré le setfocus, alors que je
voudrais qu'il revienne sur le champ.

Pourquoi ?
Merci !
Dan








Avatar
JMH
Salut
Tu dois tester sur l'événement BeforeUpdate

L'événement AfterUpdate n'est déclenché que si tu as modifié ton champ.

Bye



"Dan" a écrit dans le message de
news: 41ab4890$0$30441$
Bonjour à tous,

Je cherche à maîtriser le message d'avertissement pour empêcher
l'utilisateur de laisser un champ null :

Private Sub DD_Résumé_AfterUpdate()
Dim réponse As Integer
If IsNull(Me.DD_Résumé) Then
réponse = MsgBox("Le résumé de la demande est obligatoire !", vbOKOnly,
"Saisie des demandes")
Me.DD_Résumé.SetFocus
End If
End Sub

Si le champ ne contient pas de données, le message s'affiche bien, mais
Access se positionne sur le champ suivant malgré le setfocus, alors que je
voudrais qu'il revienne sur le champ.

Pourquoi ?
Merci !
Dan








Avatar
Dan
Merci Raymond !
Avatar
Dan