|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : mars 2004 Messages : 68 ![]() |
Salut,
J'ai un soucis de requête SQL Dans ma BD access, j'ai un champ nommé "dat" où les dates sont au format français. Mon serveur me donne des dates au format anglais. Ma requête: Code :
Sert à transformer mes dates au format français *2 date()-30 et date() me donne respectivement le 03/01/2007 et le 02/02/2007 *3 Quand je retire la portion de code Code :
WHERE dat >= #"&date()-30&"# AND dat <= #"&date()&"# il faut que je retire cette portion de code pour tester car là est le problème. Si je le laisse, il ne trouve aucun enregistrement. Pourtant le 25/01/2007 se trouve entre le 03/01/2007 (date()-30) et le 02/02/2007 (date()) Quelqu'un à une idée ? Merci |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 2 161 ![]() |
si ton serveur est au format anglais il faut que tu lui donnes des dates au format anglais. Donc transforme les dates de ton paramètre au format MM/JJ/AAAA.
Ensuite pour les comparaison de dates le mieux c'est d'utiliser DATEDIFF ou une fonction équivalente. |
|
|
00
|
|
|
#3 | |||
|
Membre à l'essai
![]() Inscription : mars 2004 Messages : 68 ![]() |
Citation:
solution : Code :
|
|||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 2 161 ![]() |
oui mais la fonction date() te renvois quoi ? la date en français ou en anglais ? pour que ta condition de requête fonctionne il faut bien évidemment que ca soit en anglais.
|
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : mars 2004 Messages : 68 ![]() |
le serveur initialement me donne une date format anglais
MAIS je la transforme au format français grâce à ceci et les différents response.write que j'ai mis dans mon code me donnent des dates en français pour date()-30 -> 03/01/2007 date() -> 02/02/2007 et ce qui sort de ma BD est bien en format français également rst("dat") -> 25/01/2007 donc les 3 dates avec lesquelles je dois travailler sont en français donc en principe je devrais pouvoir les comparer, ... |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 2 161 ![]() |
ok j'avais compris que ton serveur bdd avait des dates anglaises, autant pour moi.
Et si tu mets des dates en dur dans ta condition de requêtes ca fonctionne ? Sinon ce truc : Ca ne fonctionnerait pas qu'à l'affichage ? |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : mars 2004 Messages : 68 ![]() |
Non, je n'avais pas essayé de mettre mes dates en dur.
C'est fait La requête ne fonctionnait pas non plus Par contre quand j'ai retiré ça a marché et toutes mes dates se sont affichées en anglais (serveur et BD). Mais j'ai peur d'une chose: en français, la date du 25/01/2007 peut devenir 01/25/2007 en anglais sans doute possible. Par contre, qu'en est-il du 10/01/2007 par exemple où il peut y avoir un doute. En français, c'est le 10 janvier et en anglais, c'est le 01 octobre. Il me semble déjà avoir eu cette problématique dans le passé. quand c'est une date où il ne peut y avoir de doute, la date se transforme. Par contre quand elle peut se lire sans problème, il n'y bouge pas. Une confirmation de ta part ??? Celà dit, je viens de tester cette éventualité mais je n'ai pas eu de problème. Je tiens ça à l'oeil |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 849 ![]() |
Salut,
Il me semble fort que la date affichée par une application web dépend de la langue du navigateur. Les options régionales du serveur peuvent entrer en ligne de compte. Ceci dit il me semble bien que SQL passe les dates au format US lors de l'execution de la requete et cela quelque soient les options régionales. A+ |
|
00
|
|
|
#9 |
|
Inactif
![]() Inscription : mars 2002 Messages : 1 295 ![]() |
Résolu ou pas?
Pour les dates, j'utilise year, month et day pour extraire les "morceaux" et recomposer les dates. Je me suis fait une fonction "fr vers us" et une "us vers fr". La connexion odbc que j'utilise attends/envoie des dates format "US", et j'affiche des dates format "français". Donc conversion quand c'est nécessaire |
|
|
00
|
|
|
#10 | ||
![]() ![]() |
Salut,
Pourquoi chercher midi à 14h ? Comme le dit si bien Florian inutile de te servir de session ou que sais-je Sachant qu'il existe la variable date en asp après tu en fait ce que tu veux de la date tu fais ceci : Code :
ici tu veux en fr donc : ensuite tu mets aff_date entre # j'imagine que ça tu sais le faire dans ta requete Voilà ++ (et n'oublie pas le tag résolu) |
||
|
|
00
|
|
|
#11 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 849 ![]() |
Citation:
A+ |
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Inscription : juin 2003 Messages : 766 ![]() |
Yop!
@ Immobilis: Bon anniversaire à ton avatar, qui fêtait ses 50 ans hier! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com