Date, Bd Access URGENT !!! merci

Résolu
Nightcourrier Messages postés 118 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 28 mars 2008 - 26 janv. 2005 à 23:41
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 - 27 janv. 2005 à 15:26
Bonjour à tous,

J'utilise une bd access avec un champs de type Date, abrégé

Voici ma requeste :

Select strDate from Ma_Table where format([strdate],'dd-mm-yyyy') > #01/01/2005#"

Il me sort les enregistrements que les dates sont plus grande que 01/01/2005 mais également les enregistrements dont la date est 01/01/2005

MEme si j'utilise ceci :

Select strDate from Ma_Table where format([strdate],'dd-mm-yyyy') > #01/01/2005#" and
format([strdate],'dd-mm-yyyy') <> #01/01/2005#"

j'ai les memes résultats

Pk ? merci

Nightcourrier

5 réponses

cs_corsica Messages postés 147 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 15 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
3
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 1
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 !

En espérant t'avoir aidé...

@+
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 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.

@+

Manu
0
Nightcourrier Messages postés 118 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 28 mars 2008
27 janv. 2005 à 14:30
Bonjour à vous,
merci beaucoup vos suggestions ont réglé mon problème :)

Nightcourrier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 1
27 janv. 2005 à 15:26
Tu as eu trois réponses différentes, alors je pense que ce serait util a tous que tu dises laquelle marche.
0
Rejoignez-nous