OVH Cloud OVH Cloud

complément de date

3 réponses
Avatar
Jean-Claude
Bonjour à tous.

Deux champs sur un formulaire indépendant
1er Annee (format numérique en liste 2003, 2004,2005 etc)
2ème. Je voudrais que le jour et mois soient fixes mais que l'année soit
celle du champ précédent:

Supposons que le champ année soit 2002, je voudrais dans le second
01/05/2002, qu'importe les valeurs jours et mois que je saisis. J'ai essayé
=#15/01/& [annee]#... mais hélas:-(

Merci de vos réponses par avance

3 réponses

Avatar
Raymond [mvp]
Bonjour.

tu n'as peut-être pas choisi la facilité. il existe des contrôles calendrier
qui te donneront la date sur un simple click sans aller chercher deux champs
texte pour essayer d'améliorer la saisie;
en saisie,
Me.Texte2 = Me.Texte2 & "/" & Me.Texte1
If IsDate(Me.Texte2) Then
Me.Texte2 = CDate(Me.Texte2)
Else
MsgBox "date inexploitable"
End If

si tu veux indiquer directement la date par du vba:
Me.texte2 = CDate("15/01" & "/" & Me.Texte1)

si tu veux l'indiquer directement dans le source controle:
Íate("5/01" & "/" & [Texte1])
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jean-Claude" a écrit dans le message de
news:40cab8af$0$20723$
Bonjour à tous.

Deux champs sur un formulaire indépendant
1er Annee (format numérique en liste 2003, 2004,2005 etc)
2ème. Je voudrais que le jour et mois soient fixes mais que l'année soit
celle du champ précédent:

Supposons que le champ année soit 2002, je voudrais dans le second
01/05/2002, qu'importe les valeurs jours et mois que je saisis. J'ai
essayé

=#15/01/& [annee]#... mais hélas:-(

Merci de vos réponses par avance





Avatar
Eric
"Jean-Claude" écrivait
news:40cab8af$0$20723$:

Bonjour à tous.

Deux champs sur un formulaire indépendant
1er Annee (format numérique en liste 2003, 2004,2005 etc)
2ème. Je voudrais que le jour et mois soient fixes mais que l'année
soit celle du champ précédent:

Supposons que le champ année soit 2002, je voudrais dans le second
01/05/2002, qu'importe les valeurs jours et mois que je saisis. J'ai
essayé
=#15/01/& [annee]#... mais hélas:-(

Merci de vos réponses par avance






Bonjour Jean-Claude,

Je n'ai pas tout compris mais ...

Je suppose que tu as une liste déroulante pour les années (cboAnnee)
Un controle Texte(txtJourMois) dans lequel tu saisis le jour et le mois
sous la forme 15/12.

Sur sortie de ce controle (LostFocus) tu peux mettre :
Me.txtJourMois=Me.txtJourMois & "/" & me.cboAnnee

ainsi ton controle txtJourMois stockera 15/12/2004 si dans la cboAnnee tu
as sélectionné 2004.

Il t'appartiendra de t'assurer de la cohérence des jours/mois saisis et
d'utiliser cette valeur dans ton code en la convertissant au format US.

Maintenant, si tu ne tiens pas compte des valeurs saisies dans le
controle txtJourMois alors pourquoi autoriser la saisie de cette info. Il
te suffit de mettre un label(Intitulé, Etiquette) dont la propriété
Caption (Légende) serait :
Me.lblDate.Caption = "01/05/" & Me.cboAnnee ou mieux
Me.lblDate.Caption=Me.lblDate.Tag & "/" Me.cboAnnee en prédéfinissant la
propriété Tag(Remarque) de ton label à 01/05.

le label serait renseigné après MAJ de la liste déroulante.

Je sais pas si ca répond à ton problème.
A+
Eric

Avatar
Jean-Claude
Merci à tous.

J'avoue avoir des problèmes pour énoncer ce que je désire.
Raymond, me connaissant depuis pas mal d'années a traduit, repensé,
réanalysé, déchiffré et a trouvé la bonne formule.

dans la source: = cdate ("15/06/" & [le fameux champ]).. et..... et....

OUI!!!!!! c'est exactement ça.
En fait, Eric, qui m'aide aussi très souvent, quen je relis ma question et
que j'arrive à la fin, je ne vois plus quel est le début de cette question.

Je vous souhaite à tous deux une bonne journéee et un bon week-end.

Amicalement

"Bien répondre, c'est bien comprendre la question"... et avec moi, j'ai
honte mais c'est impossible. Même les services secrets m'ont mis hors jeux


"Eric" a écrit dans le message de
news:
"Jean-Claude" écrivait
news:40cab8af$0$20723$:

Bonjour à tous.

Deux champs sur un formulaire indépendant
1er Annee (format numérique en liste 2003, 2004,2005 etc)
2ème. Je voudrais que le jour et mois soient fixes mais que l'année
soit celle du champ précédent:

Supposons que le champ année soit 2002, je voudrais dans le second
01/05/2002, qu'importe les valeurs jours et mois que je saisis. J'ai
essayé
=#15/01/& [annee]#... mais hélas:-(

Merci de vos réponses par avance






Bonjour Jean-Claude,

Je n'ai pas tout compris mais ...

Je suppose que tu as une liste déroulante pour les années (cboAnnee)
Un controle Texte(txtJourMois) dans lequel tu saisis le jour et le mois
sous la forme 15/12.

Sur sortie de ce controle (LostFocus) tu peux mettre :
Me.txtJourMois=Me.txtJourMois & "/" & me.cboAnnee

ainsi ton controle txtJourMois stockera 15/12/2004 si dans la cboAnnee tu
as sélectionné 2004.

Il t'appartiendra de t'assurer de la cohérence des jours/mois saisis et
d'utiliser cette valeur dans ton code en la convertissant au format US.

Maintenant, si tu ne tiens pas compte des valeurs saisies dans le
controle txtJourMois alors pourquoi autoriser la saisie de cette info. Il
te suffit de mettre un label(Intitulé, Etiquette) dont la propriété
Caption (Légende) serait :
Me.lblDate.Caption = "01/05/" & Me.cboAnnee ou mieux
Me.lblDate.Caption=Me.lblDate.Tag & "/" Me.cboAnnee en prédéfinissant la
propriété Tag(Remarque) de ton label à 01/05.

le label serait renseigné après MAJ de la liste déroulante.

Je sais pas si ca répond à ton problème.
A+
Eric