OVH Cloud OVH Cloud

date

2 réponses
Avatar
didier
Bonjour

Je veut faire un test sur la date du jour par rapport =E0=20
une date fixe soit
If Date>#31/12/2004# then
....
Quelque soit la date fixe il accepte le test
Y aurait-il pas un probl=E8me entre le format fran=E7ais et=20
anglais?

2 réponses

Avatar
Michel Walsh
Salut,


Cela dépend du contexte.


En général, si # et utilisé comme délimiteur, la date sera EN PREMIER LIEU
testé comme étant un format US. Si cela ne passe pas, exemple #16/1/2004#,
visiblement, 16 n'est pas un mois, il y a diverses permutations qui sont
essayées. Donc OUI, cela peut être un problème avec #1/2/3#, cela sera
invariablement compris, par Jet, comme étant le 2 janvier 2003, mais est-ce
celà qu'on voulait faire?

Je dis en général. Il y a une exception notable, c'est l'éditeur de requête,
en vue design, il affiche # mais dans le format local... En vue SQL, par
contre, il utilise #, mais dans le format US.


Enfin, dans le code VBA, si tu entres une date constante délimitée par #,
elle est réinterprétée en US dès que tu changes de ligne de code. C'est
normal. Ainsi, si j'écris:

maDate=#2004/12/6# [enter]

VBA me change maligne de code pour:

maDate = #12/6/2004#



Et cela est bien car c'est CE TEXTE qui serait envoyé à un autre PC
(advenant que j'installe mon application sur un autre PC) et cet autre PC
sait que # veut dire US, et non pas un quelconque format de date d'un
quelconque PC. Si on préfère, cela rend le code INDÉPENDANT du PC qui écrit
le code (autrement, ce ne serait pas joli, il faudrait que mon PC soit au
courrant des façons de faire de tous ceux dont je peux avoir du code, des
russes aux japonais en passant par les malgaches...).



Espérant être utile,
Vanderghast, Access MVP


"didier" wrote in message
news:129801c46f0d$f193cdb0$
Bonjour

Je veut faire un test sur la date du jour par rapport à
une date fixe soit
If Date>#31/12/2004# then
....
Quelque soit la date fixe il accepte le test
Y aurait-il pas un problème entre le format français et
anglais?
Avatar
Gilles
Bonjour, Didier
-----Message d'origine-----
Bonjour

Je veut faire un test sur la date du jour par rapport à
une date fixe soit
If Date>#31/12/2004# then
.....
Quelque soit la date fixe il accepte le test
Y aurait-il pas un problème entre le format français et
anglais?
.



Pour désigner une date fixe, je préfère utiliser la
fonction DateSerial(Année, Mois, Jour).
Dans ton cas, cela donne: DateSerial(2004, 12, 31)
Combinée avec les fonctions Year, Month et Day qui servent
respectivement à extraire l'année, le mois et le jour
d'une date, il est possible d'écrire quasiment toutes les
opérations que l'on peut souhaiter faire sur des dates.

Bonne continuation
Gilles