Question surement naive, pourquoi la query ci-dessous me renvoie l'elément 02/08/2008
au lieu de 08/02/2008 (variable sDateDeb) ???
Essais vains avec CDate, FormatDateTime, SetLocale (fr-fr, en-gb, en-us) ....
J'ai bien parcouru certains posts (dixit Renfield, x% de questions sur les requêtes concernent les dates !),
mais je n'ai pas trouvé de réponse concernant le vbs. Idem avec l'illustrissime http://www.laltruiste.com/coursado/sommaire.html' target='_blank'>l'altruiste .
Je teste pour l'instant sur une date, le but étant ensuite, d'utiliser un Between, dont je ne suis pas certain
qu'il puisse être utilisé en vbs. Peut-être obligation de [Date] > = sDeb And [Date] =< sFin.
Stop JMO [Cliquer ici pour prendre connaissance du règlement. ...] une question par post .....
Option Explicit
Dim sFile
Dim sDateDeb, sDateFin
sFile = "D:\JMO\SCRIPTS\Fichiers\Classeur3.xls"
sDateDeb = "08/02/2008"
sDateFin = "13/02/2008"
Msgbox FnExtractDate(sFile, sDateDeb, sDateFin)
Function FnExtractDate(argFile, argDateDeb, argDateFin)
Dim oConn, oRs, MyQuery
Dim sResult
sResult = "Elément(s) extrait(s)"
MyQuery "SELECT * FROM [Feuil1$] WHERE [Date] #" & argDateDeb & "#"
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 13 févr. 2008 à 20:45
Salut
Ah les dates et les bases de données : il y aura toujours des problèmes !
Les dates stockées dans les bases de données sont toujours stockées au format américain.
C'est le format que tu appliques à ta cellule qui affiche la date à la french.
Malgré tout, dans ce genre de requète, quand une date ambigüe apparait, il lui devient impossible de savoir quel format appliquer.
La solution consiste donc à demander au moteur SQL de transformer les dates (pas à Excel ou VB)
Essaye donc ça : MyQuery "SELECT * FROM [Feuil1$] WHERE [Date] DateValue(#" & argDateDeb & "#)"
Tu remarqueras que DateValue est à l'intérieur des ", donc interprété par SQL, pas par le VBS
Comme je ne suis pas sûr de moi, essaye aussi en remplaçant les # par des ' : MyQuery "SELECT * FROM [Feuil1$] WHERE [Date] DateValue('" & argDateDeb & "')"
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)