cs_corsica
Messages postés147Date d'inscriptionlundi 13 mai 2002StatutMembreDernière intervention15 février 2010 27 janv. 2005 à 09:53
2ème solution :
Select strDate from Ma_Table where format([strdate],'yyyymmdd') > '20050101'
Tu formates ta date de la table en string et tu la compares avec une autre string car effectivement tu risque d'avoir des problème avec les formats de dates stockées , dans la mesure ou ACCESS ne visualise pas les heures mais qu'elles sont malgrès tout présentes dans la table.
Il ne faut pas oublier que le champs Date est affiché en temps que jj-mm-aaaa par exemple mais que physiquement c'est un n° de série qui est stocké et que par défaut ce nombre prend une heure à 00:00 si on ne lui spécifie rien et une heure à l'heure courante si on lui spécifie Date().
Si l'on ne posséde qu'une partie de la date/heure , la solution la moins "hasardeuse" est de formatter cette date en un format qui correspond avec les données qu'on posséde , ici en l'occurence aaaammjj ( et dans ce format précis car on récupére du string ! )
En espérant avoir répondu à tes attentes ...
<HR>
Life is too short !
Enjoy your life ...
NotSoBad en : VB / ASP / SQL / VBS / VBA / JSP / JavaScript / Java
Débutant : XML / Delphi
cs_AshenShugar
Messages postés202Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention22 janvier 20091 27 janv. 2005 à 09:13
Salut,
Je crois que ton problème vient du fait que les champs Date d'une BD
enregistre aussi l'heure, surtout quand la données enregistrée est
faite par la fonction "Date()".
Dans tous les cas, meme si le problème ne vient pas de là, tu peux tout
simplement ajouter un jour à la date de test et mettre un ">= "
C'est a dire que si tu veux tous les enregistrements à une date
supérieur au 01/01/2005 (pour reprendre ton exemple), tu mets dans ta
requete le 02/01/2005 ! C'est con, mais ca marche !
Manu94600
Messages postés107Date d'inscriptionlundi 9 juin 2003StatutMembreDernière intervention20 février 2008 27 janv. 2005 à 12:03
Je crois plutot que lorsque tu met format ca te transforme ta date en String.
Je te donne la requete que tu dois utiliser :
Select strDate from Ma_Table where strdate > #01/01/2005#
Sachant que sous Access la date est sous la forme: mm/jj/aaaa
Ici ta requete selectionne les date supérieur au 01 Janvier 2005. Avec ton exemple on s'est dificile de comprendre ce que je dis.
Alors je redonne un autre exemple : Select strDate from Ma_Table where strdate > #05/01/2005#
Cela selectionne les date sup au 01 Mai 2005.
Voila j'espere que j'aurai pu d'aider et n'hesite pas. Nous sommes là pour ca.