Forum - Questions sur Access - Champ Date dans formulaire

 

actif  Sujet n° 828

le 20/01/2019 : 11:35
par flomen

Anonyme

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

Poster une réponse Haut  

Réponse n° 1
--------
le 21/01/2019 : 01:06
par 3Stone

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)

Poster une réponse Haut  
Réponse n° 2
--------
le 21/01/2019 : 08:30
par flomen

Anonyme

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

Poster une réponse Haut  
Réponse n° 3
--------
le 21/01/2019 : 14:45
par 3Stone

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)

Poster une réponse Haut  
Réponse n° 4
--------
le 22/01/2019 : 10:10
par flomen

Anonyme

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

Poster une réponse Haut  
Réponse n° 5
--------
le 22/01/2019 : 23:24
par 3Stone

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)

Poster une réponse Haut  
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message
Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter  
Catégories de discussion  Forum