DateValue et cha
Le
Le Nordiste

Bonjour,
Je veux inclure un calcul dans DateValue :
DateValue("01/" & Month(UneDate)-4 & Year(UneDate))
cela ne pose pas de Pb - je teste ma requète en juin-
Par contre si je veux faire Month(UneDate)-8 ça coince.
Je pensais naïvement que si le résultat de Month(était négatif on
décrémenter Year dans DateValue.
Je veux inclure un calcul dans DateValue :
DateValue("01/" & Month(UneDate)-4 & Year(UneDate))
cela ne pose pas de Pb - je teste ma requète en juin-
Par contre si je veux faire Month(UneDate)-8 ça coince.
Je pensais naïvement que si le résultat de Month(était négatif on
décrémenter Year dans DateValue.
DateValue("01/" & Month(UneDate-(30*4)) & Year(UneDate))
Mais c'est moins précis à cause du nombre de jours ds un mois !!
il faut faire ceci:
Dim Unedate As Date
Unedate = DateAdd("m", -8, Date)
Dim x As Date
x = DateSerial(Year(Unedate), Month(Unedate), 1)
MsgBox x
ou
x = DateSerial(Year(DateAdd("m", -8, Unedate )), Month(DateAdd("m", -8,
Unedate )), 1)
ce qui a l'avantage de bien tenir compte du passage à l'année précédente.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db
"Le Nordiste" news:
Bonjour,
Je veux inclure un calcul dans DateValue :
DateValue("01/" & Month(UneDate)-4 & Year(UneDate))
cela ne pose pas de Pb - je teste ma requète en juin-
Par contre si je veux faire Month(UneDate)-8 ça coince.
Je pensais naïvement que si le résultat de Month(était négatif on
décrémenter Year dans DateValue.
DateAdd(-4,"m",UneDate)
serait peut-être plus approprié dans ton cas.
En ce jour mémorable du lundi 18/06/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
DateSerial(Year(DateAdd("m", -8, Unedate )), Month(DateAdd("m", -8,
Unedate )), 1)
ça me convient,
Merci pour les autres propositions : comme quoi il y a toujours
plusieurs solutions à un seul probléme.
Le Nordiste
Juste pour dire que la formule:
DateSerial(Year(Unedate), Month(Unedate)-8, 1)
fonctionne très bien, DateSerial se chargeant de faire le décalage.
Une autre formule bien pratique pour connaitre le dernier jour du mois:
DateSerial(Year(Unedate), Month(Unedate)+1, 0)
Bonne continuation