moudz84
Messages postés64Date d'inscriptionmardi 5 septembre 2006StatutMembreDernière intervention27 septembre 2007
-
13 août 2007 à 13:54
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
14 août 2007 à 06:08
salut, ca fait un bon moment que je perd mon temps sur une petite erreur:
dim rec as dao.recordest
dim d as date
d="31/12/2008"
set rec = currentDb.openrecordset("select * from A wher dtmaj <"& d ,dbOpenDynaset)
- d renvoi bien "31/12/2008", je l'ai verifier avec isDate
- quand je met des ' ' autour de d dans la requete on m'envoi une erreur
voila mon probleme : la requete envoi rien alors que il y a de date < 31/12/2008
et quand j'echange la < par une > la requete envoi tous ce qui est avant d ex: 01/01/2007
est ce que quelqu'un peut me dire d'ou vien l'erreur???
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 13 août 2007 à 14:28
Comme déjà dit et redit 1000 fois : il faut entourer les dates par des dièses et les mettre au format américain "MM/dd/yyyy) :
"select * from A wher dtmaj < #"& Month(d) & "/" & Day(d) & "/" & Year(d) & "#"
moudz84
Messages postés64Date d'inscriptionmardi 5 septembre 2006StatutMembreDernière intervention27 septembre 2007 13 août 2007 à 15:11
salut DARKSIDIOUS j'ai essayer ce que tu ma dit mai j'ai encore qlq petits problemes:
1- les date dans la base de donnée sont DD/MM/YYYY, est ce que je doit les changer aussi en MM/DD/YYYY?
2- dans ma table A j'ai 3 ligne et donc trois date, je les compare avec 01/01/2008 (je cherche ce qui est plus petit) je n'est que une qui sort alor que les trois doivent sortir....
celle qui sort est 01/01/2000
les autres sont 01/01/2007
est ce que t'aurai une idée de quoi ca pourrai etre?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 13 août 2007 à 15:18
tes champs sont bien de type Date/heure, rassures moi ?
concernant ton point 1, NON ! tes données sont (normallement) stockées en tant que Date, elles sont AFFICHEES DD/MM/YYYY pour répondre a TES parametre regionnaux.
pourtant, tes requetes SQL sont a rediger avec le format internationnal, indiqué par DarkSidious : MM/DD/YYYY
moudz84
Messages postés64Date d'inscriptionmardi 5 septembre 2006StatutMembreDernière intervention27 septembre 2007 13 août 2007 à 15:33
les champs sont de type DATE seulement
1- si j'ai recuperer la date de la base et que je veut faire un test la dessus je doit aussi faire cela:
recordset("dtmaj") < #"& Month(d) & "/" & Day(d) & "/" & Year(d) & "#"
ou c'est seulement dans les requete (select ...)
2- est ce que une ecriture comme celle ci est bonne:
d= "#01/01/"& year(date)-4 & "#"
desolé pour toutes ces questions mais j'ai trop de manipulation de date...
Vous n’avez pas trouvé la réponse que vous recherchez ?