Recherche desesperement aide pour les comparaison de date

cs_mymic Messages postés 10 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 18 mai 2011 - 15 avril 2002 à 16:34
 Utilisateur anonyme - 25 juin 2012 à 17:15
Je suis entrain de me prendre le choux avec un probleme pour lequel j suis persuadé qu'il y a une solution mais laquelle ?
Cela concerne les comparaison de date.
J'ai une bdd (base de donnée) sous Access 2000 avec une table ou mes date sont au format abregé.
Comme j'affiche à l'utilisateur cette table dans un MSFlexgrid j convertit l'arrivée de mon champ date avec format :
format(date1,"dd/mm/yyyy")

Maintenant j une feuille de recherche qui permet à l'utilisateur de rechercher une fiche en fonction de la date sDate2 ( avec =, > et <). Ma date sDate2 est au format "dd/mm/yyyy".
Mes requete sont de la forme :
1/ "SELECT * FROM Table1 WHERE sDate=Datevalue(#" & sDate2 & "#)
2/"SELECT * FROM Table1 WHERE sDate<Datevalue(#" & sDate2 & "#)
3/"SELECT * FROM Table1 WHERE sDate>Datevalue(#" & sDate2 & "#).

Cela fonctionne mais pas pour toute les dates. Par exemple pour les jours allant de 01 à 09 pour les annees avant l'année courante cela ne fonctionne pas.

Quelqu'un aurait t'il une solution en gardant mes formats de date et en etant sur que cela fonctionne à chaque fois.

Merci d'avance pour l'aide
%-6
A voir également:

6 réponses

sferrier Messages postés 31 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 11 octobre 2002
15 avril 2002 à 16:40
bonjour,

dans les script sql les dates doivent être convertit au format américain autrement il y a inversion du mois et du jour (si c'est possible -> d'ou ton problème)

donc => ...#" & format(ladate,"mm/dd/yyyy") & "#....

Cordialement
sébastien Ferrier
Concepteur composants
alfa info
s.ferrier@alfainfo.fr
0
cs_criche Messages postés 20 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 3 octobre 2003
15 avril 2002 à 23:25
Benoit Stéphane

yep je confirme, j'ai eu le même prob, et la solution est effectivement variable = format(variableDate, "mm/dd/yyyy")
0
tmeg Messages postés 33 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 12 mars 2009
15 sept. 2004 à 16:47
moi j'ai un autre probleme a cause d'acces de m.....
en ajoutant une date sql = si acces peut inverser la date pour la mettre au format anglais il le fais sinon il l'inverse pas
ex : 31/12/2004 au format francais il peut pas l'inverser il la laisse tel quel
01/02/2004 il peu l'inverser alors il le fait et la transforme au format anglais : 02/01/2004

et le meme probleme en inverse
si tu rentre une date invalide au format anglais comme par exempe le 13/31/2004 (MM/dd/yy) ben la il l'inverse au lieu de dire que la date n'est pas valide

conclusion faites gaffe aux dates fait nimporte quoi avec!
tmeg
0
Bonicard Messages postés 1 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 28 juin 2005
28 juin 2005 à 20:45
salut a tous,
il y a bien longtemps que vous avez reglés ce probleme ...
mais moi c'est ajd'hui que je m'y frappe le nez

bd Access sous windows2000 Francais et VB6
dans ma bd j'ai un champs de type "date abrégé" au format jj/mm/yy
dans mon formulaire en VB6 j'ai un champs text.
les gens peuvent faire une recherche par date, ils entrent une date (au bon format) et j'ai rajouté CDate(...) lorsque je manipule ce champs text.
a quoi servent les # # dans vos exemples, jamais vu ca avant !!??

voici mon code
sql "select * from BdeT where dateV " & _
CDate(frBdeT.TxRecherche.Text) & " or dateV > " & _
CDate(frBdeT.TxRecherche.Text)

mais voila : mon resultSet est soit vide soit il contient tous les tuples de la table ... ???
comme si il n'y avait pas de clause "where" ou pas de comparaison du tout !!

merci de m'aider ... n'en peux plus !!

Bonicard
0

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

Posez votre question
maha14 Messages postés 1 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 24 juin 2012
24 juin 2012 à 04:27
sql = "select * from BdeT where sDate = Datevalue(#" & format(sDate2,"mm/dd/yyyy") & "#)"
ça marche
bonne chance
0
Utilisateur anonyme
25 juin 2012 à 17:15
7 ans plus tard; pas mal du tout.
0
Rejoignez-nous