Forum - Questions sur Access - Champ Date dans formulaire


 2 membres
Connectés : ( personne )

  Sujet n° 828
le 20/01/2019 11:35
par flomen
 
visiteur

Dans un formulaire, comment afficher le logo du calendrier sans être obligé de cliquer sur le champ date pour qu’il apparaisse à côté de la date ?

Cordialement

  

Réponse n° 1
--------
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)

  
Réponse n° 2
--------
le 21/01/2019 08:30
par flomen
 
visiteur

Merci, effectivement ça fonctionne, cependant il n'est pas possible d'afficher le calendrier sur plusieurs dates, seul le dernier SetFocus affiche le calendrier.

Lorsque l'on saisie une date par le calendrier, l'événement Apres MAJ n'est pas activé !

Merci

Cordialement

  
Réponse n° 3
--------
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)

  
Réponse n° 4
--------
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

  
Réponse n° 5
--------
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 wink

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)

  
sujet actif   sujet clos   Important!   Nouveau  
Rectifier message   Clôturer sujet   Remonter sujet