Tests lancés avant validation de valeurs
Le
zOrg2net
Ave @ tous,
Me voici confronté à un nouveau problème.
Donc, dans un sous formulaire, je saisie des dates grâce au contrôle
calendrier. Les évènements double clic des champs texte qui doivent recevoir
les valeurs m'ouvre le calendrier et ils se mettent à jour avec les dates
sélectionnées. J'ai besoin de faire des tests de validité sur ces dates et
c'est là que ca se corse. Je me suis aperçu que mes tests étaient lancés
avant que les contrôles ne recoivent la date. Conclusion, mes tests ne
servent à rien, puisque la date n'est pas encore validée. J'ai mis mes tests
dans tous les évènements possible, même sur perte de focus et ça ne marche
pas. J'ai mis des pauses avec sSleep(cTIME), ça ne donne rien. Les tests sont
lancés avant même que le calendrier ne soit fermé.
Quelqu'un qui a peut-être déjà eu ce petit soucis, voudra-t-il partager sa
solution avec moi ??
Merci d'avance pour vos contributions.
zOrg2net
7OuNet
Le dicton du jour: Assiter un criminel avant qu'il ne soit arrêté, c'est
être son complice. Assiter un criminel après qu'il soit arrêté, c'est être
son avocat.
Me voici confronté à un nouveau problème.
Donc, dans un sous formulaire, je saisie des dates grâce au contrôle
calendrier. Les évènements double clic des champs texte qui doivent recevoir
les valeurs m'ouvre le calendrier et ils se mettent à jour avec les dates
sélectionnées. J'ai besoin de faire des tests de validité sur ces dates et
c'est là que ca se corse. Je me suis aperçu que mes tests étaient lancés
avant que les contrôles ne recoivent la date. Conclusion, mes tests ne
servent à rien, puisque la date n'est pas encore validée. J'ai mis mes tests
dans tous les évènements possible, même sur perte de focus et ça ne marche
pas. J'ai mis des pauses avec sSleep(cTIME), ça ne donne rien. Les tests sont
lancés avant même que le calendrier ne soit fermé.
Quelqu'un qui a peut-être déjà eu ce petit soucis, voudra-t-il partager sa
solution avec moi ??
Merci d'avance pour vos contributions.
zOrg2net
7OuNet
Le dicton du jour: Assiter un criminel avant qu'il ne soit arrêté, c'est
être son complice. Assiter un criminel après qu'il soit arrêté, c'est être
son avocat.

Poser une question


Alors encore avec ton calendrier ? ;-)
Ai je bien compris to soucis ?
Une zone texte. Tu fais un double clic. Sur cet évènement tu active le
controle calendrier.
Aprés séléction de la date, tu retournes la valeur dans la zone texte.
Et là tu ne peux ta controler ta date ?
Est il possible de voir le code que tu utilises ?
Hé oui! Après les soucis du calendrier, voici d'autres soucis imprévus.
Pourtant on dit toujours que les soucis sont de Lyon. C'est même pas vrai!!
Voici le code incriminé:
Private Sub Date_Retour_prevu_ES_DblClick(Cancel As Integer)
On Error GoTo Err_Calendrier ' gestion d'erreur simplifiée
DoCmd.OpenForm "calendrier"
Forms("calendrier").Caption = Me.Parent.Name & _
"!" & Me.Name & "!" & Me.Date_Retour_prevu_ES.Name
If Me!Date_Retour_prevu_ES < Me!Date_Sortie_ES Then
MsgBox "Cette date n'est pas valide, elle est inférieure à la date
de sortie." & Chr(10) & "Veuillez recommencer votre saisie."
Me!Date_Retour_prevu_ES = Null
Me!Date_Retour_prevu_ES.SetFocus
ElseIf Me!Date_Retour_prevu_ES - Me!Date_Sortie_ES < 7 Then
MsgBox "La date saisie doit correspondre à minima, à une semaine" &
Chr(10) _
& "après la date de sortie. Veuillez recommencez votre saisie!"
Me!Date_Retour_prevu_ES = Null
Me!Date_Retour_prevu_ES.SetFocus
End If
If IsDate(Date_Sortie_ES) And Not IsDate(Date_Retour_reelle_ES) Then
Disponible_matos = False
End If
Me!Reglement_verse_ES.SetFocus
Refresh
Exit Sub
Err_Calendrier:
If Err.Number = 2452 Then
Forms("calendrier").Caption = Me.Name & _
"!" & Me.Date_Retour_prevu_ES.Name
Else
Forms("calendrier").Caption = Me.Parent.Name & _
"!" & Me.Name & "!" & Me.Date_Retour_prevu_ES.Name
End If
Resume Next
End Sub
et donc comme je le disais les tests sont exécutés avant qu'il n'y ai une
date dans le contrôle adéquat.
zOr2net
Et le comportement d'access est normal. Le fait d'ouvrir ton calendrier
n'arrête pas pour autant le déroulement de la suite de ta procédure. Ce
qui explique le (non) résultat.
J'ai déjà eu a faire a ce comportement mais c'était pour l'execution
d'un batch sous dos et il fallait que j'attende que le batch soit
terminé pour continuer ma procédure.
Regarde plus haut dans les post il y a, je crois, un post faisant
référence à l'ouverture d'un formulaire par un autre pour ensuite
recuperer des date de début et de fin de période. C'est peut être une
piste ......
bon appétit !
@+
propriétés du formulaire et le code suivant l'ouverture du calendrier
attendra la fermeture de celui ci
2)Ou quelquechose de moins propre:
While Currentproject.allforms("FormCalendrier").isloaded = true
Doevents
Wend
cordialement
Mon formulaire calendrier est déjà en fenêtre modale et indépendante, par
contre ton petit code pas propre, me bloque bien la procédure tant que le
calendrier n'est pas fermé. C'est exactement ce que je voulais. Alors...
Adopté à l'unanimité.
Mais pourquoi dis-tu qu'il n'est pas propre? Cela pourrait-il générer des
bugs ou n'est-ce qu'une question d'esthétisme ??
Merci beaucoup et bon appétit
zOrg2net