-
SQL Between dates en vba
Bonjour bonjour,
J'ai un petit problème avec une requête SQL et plus précisément le BETWEEN avec deux dates. (La requête se fait en VBA donc je poste ici)
Voici un bout de ma requête :
Code:
Me.Listing_demandes.RowSource = "SELECT DISTINCT T_DEMANDE.DT_DMD (....)WHERE DT_DMD BETWEEN #" & dateEnDebut & "# And #" & dateEnFin & "# ;"
avec dateEnDebut = 7/14/2013 et dateEnFin = 7/25/2013
J'ai bien évidemment tenté avec d'autres formats de dates mais le résultat est le même :
La requête ne prend en compte que le "Jour" de la date (qu'importe le format) C'est à dire qu'au lieu d'obtenir des dates entre le 14 et le 25 Juillet 2013, j'obtiens toutes les dates entre le 14 et le 25 (de tous les mois, de tous les ans).
J'ai cherché un peu partout mais je n'ai pas trouvé traces de ce problème et je ne le comprends pas. Si quelqu'un a une idée, j'suis preneur. Merci !
-
hello,
ton champ dt_dmd est de quel type ?
-
Salut,
As-tu essayé en utilisant la fonction CDate :
Code:
Me.Listing_demandes.RowSource = "SELECT DISTINCT T_DEMANDE.DT_DMD (....)WHERE DT_DMD BETWEEN #" & CDate(dateEnDebut) & "# And #" & CDate(dateEnFin) & "# ;"
@+.
-
Bien bien merci à vous, c'était trois fois rien en fin de compte :mrgreen:
J'avais en effet changé le type de DT_DMD en Texte pour certains tests, c'est donc normal que pour la requête il ne prenait que les deux premiers caractères comme une string.
Remettre le champ DT_DMD en type Date/Heure a résolu le problème. J'ai honte. :oops: