Forum - Questions sur Access - Champ Date dans formulaire
--------
le 21/01/2019 : 01:06
par 3Stone
Administrateur
Bonjour,
Citation :
sans être obligé de cliquer sur le champ date
En fait, ce n'est pas le clic qui fait apparaître l'icône calendrier, mais lorsque la zone de texte reçoit le focus...
Tu peux donc faire un :
Me.MaZoneDeTexte.SetFocus
Afficher cette icône sans le focus n'est pas prévu dans les propriétés...
Cordialement,
Pierre (3Stone)
--------
le 21/01/2019 : 08:30
par flomen
visiteur
--------
le 21/01/2019 : 14:45
par 3Stone
Administrateur
Bonjour,
Citation :
il n'est pas possible d'afficher le calendrier sur plusieurs dates
Heu... pour saisir plusieurs dates, il faut plusieurs champs...
et donc, pour autant que l'ordre de tabulation soit correctement ordonné, la prochaine zone de texte affiche automatiquement l'icône calendrier.
Citation :
l'événement Apres MAJ n'est pas activé
l'après mise à jour de la zone de texte, si !
Mais c'est inutile, puisque l'utilisateur doit confirmer sa saisie... ce qui fait passer le focus au champ suivant.
D'accord, le calendrier n'a pas d'événements utilisables, c'est juste une aide pour la saisie.
Cordialement,
Pierre (3Stone)
--------
le 22/01/2019 : 10:10
par flomen
visiteur
Merci, effectivement le calendrier permet de saisir ou de modifier une date, mais malheureusement je ne vois pas comment contrôler la valeur de la date saisie.
Exemple :
J'ai 2 dates, 1 date de commande et 1 Date de livraison
si je modifie la date de livraison avec le calendrier, je n'ai pas d'événement après MAJ pour contrôler que la date de livraison saisie est > à la date de la commande
Cordialement
--------
le 22/01/2019 : 23:24
par 3Stone
Administrateur
Bonjour,
Citation :
si je modifie la date de livraison avec le calendrier, je n'ai pas d'événement après MAJ pour contrôler que la date de livraison saisie est > à la date de la commande
Mais si... il faut utiliser l'événement avant mise à jour de la zone de texte !
Et cette mise à jour peut le cas échéant être annulée.
Private Sub txtCal2_BeforeUpdate(Cancel As Integer) If Me.txtCal2 < Me.txtCal1 Then MsgBox "Date trop petite", vbCritical, "Attention" Cancel = True End If End Sub
Je rappelle que faire un "return" sur une valeur précédemment saisie n'est pas considéré comme mise à jour
Au besoin, il faut utiliser l'avant mise à jour du formulaire.
Mise à jour que tu peux aussi annuler en indiquant ce qui n'est pas correct.
Private Sub Form_BeforeUpdate(Cancel As Integer) If Me.txtCal2 < Me.txtCal1 Then MsgBox "Date de livraison est trop petite", vbCritical, "Attention" Cancel = True End If End Sub
Cordialement,
Pierre (3Stone)
Rectifier message Clôturer sujet Remonter