aGeS67
Messages postés14Date d'inscriptionjeudi 8 janvier 2009StatutMembreDernière intervention13 mars 2009
-
2 févr. 2009 à 10:34
monaliali
Messages postés3Date d'inscriptiondimanche 16 juillet 2006StatutMembreDernière intervention16 avril 2013
-
16 avril 2013 à 20:56
Bonjour,
Je travail avec une base de donnée Access et utilise une requête between qui ne me retourne pas toujours les valeurs exactes, surement du à un mauvais format de date, au niveau des mois plus particulièrement, voici ma requête :
SELECT NomPeriode
FROM Dates
WHERE Datevalue('" + cl2.recupdates + '") BETWEEN DateD and DateF
Avec pour format de date : 'dd/mm/yyyy'
Les valeurs retournées pour le 1er moi sont correctes seulement cette requête me retourne les même valeurs pour les prochains moi en décalant de 1 ou 2 journée les plages de dates alors qu'elle devrait me retourné une requête vide.
Si quelqu'un a une idée sur le bon format de date à utiliser ou autre conseil,
aGeS67
Messages postés14Date d'inscriptionjeudi 8 janvier 2009StatutMembreDernière intervention13 mars 20092 13 mars 2009 à 16:11
Oups je m'en excuse mais le format n'est pas "MM/dd/yyyy" mais "dd/MM/yyyy", cette erreur est du à un mauvais type de champs dans la base de donnée (types date en texte). Et bien sur ne pas négliger les majuscules MM pour convertir par exemple.
monaliali
Messages postés3Date d'inscriptiondimanche 16 juillet 2006StatutMembreDernière intervention16 avril 2013 16 avril 2013 à 20:56
Merci bcp aGeS67, votre réponse m'a résolu un problème que j'ai passé 10 jours à recherche la solution.
Je confirme bien, Access prend en charge les dates sous la forme dd/MM/yyyy, cependant VB6 les prend sous la forme MM/dd/yyyy.
Pour remedier à ce problème, il suffit de convertir les dates extraites de la base de données Acces comme suit :
"select * from table WHERE champ_date BETWEEN #" & Format(date1,"MM/dd/yyyy") & "# AND #" & Format(date2,"MM/dd/yyyy") & "#",cn,1,2