Requete SQL a perdre ses cheveux [Résolu]

Signaler
Messages postés
15
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
22 mai 2008
-
Messages postés
211
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 janvier 2010
-
J'ai besoin d'aiiiiiiiiiiiide svp.
J'ai une base de données access avec des champs au format texte dans lequelles j'écris des dates via : day(now()) & "/" & month(now()) & "/" & year(now())
Je n'arrive pas à faire un tri entre supérieur et inférieur.
J'explique la résultat que je souhaite et après je mets ma requete :
Je veux extraire les évenements entre 2 dates d'un client particulier. Or la base de prend en compte que la première date et non la deuxième. J'en ai marre !!!!.
Ma requete :
datum = day(now()) & "/" & month(now()) & "/" & year(now())
SQLQuery="SELECT*FROM annonce where (p_collectivite= " & p_username & ") AND (p_validite >= #" & datum & "# AND p_parution <= #" & datum & "#)"
Le résultat que j'obtiens est :
pas de résultat alors que :
datum = aujourd'hui
p_parution = 20/12/2004
p_validite = 15/3/2005
Je n'y comprend rien, svp. merci par avance.

4 réponses

Messages postés
15
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
22 mai 2008

J'ai trouvé, ca pourrait servir à d'autres.
en fait il fallait que je change ma variable qui récupérait la date :
datum = day(now()) & "/" & month(now()) & "/" & year(now()) est faux
datum = month(now()) & "/" & day(now()) & "/" & year(now()) est bon

bon courage à tous
Messages postés
211
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 janvier 2010

Ton format de date est incorrect, dans une base de donnée la date est stockée au format année/mois/jour ou mois/jour/année.
Ensuite pour faire des tests de date, il faut que ton champs soit au format date et non format texte (sinon impossible de faire une comparaison supérieur ou égal...)

Bart-Rennes
Messages postés
15
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
22 mai 2008

Merci Jcq, mais j'ai changé mon champ access en date abrégée et lorque j'ouvre la base, la date apparait bien en jour, mois, année.
En fait je crois que ma requête a un problème car lorsque je met un seul prédicat, cela fonctionne. Lorsque je mets les 2 y a rien a faire.
Bizarre. Merci pour ton aide.
Je cherche encore.
Messages postés
211
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 janvier 2010

C'est comme je t'avais dit avant !!! Mois/jour/année



Bart-Rennes