Comparaison de date avec MySQL

dth0

XLDnaute Nouveau
Bonjour à tous !

J'ai un petit souci avec VBA/SQL, peut être pourrez vous m'aider:

J'utilise un outil de gestion de parc (GLPI), et il faudrait que je puisse exploiter sa db pour en tirer des statistiques. J'ai créé une requête avec Microsoft Query, puis enregistré une macro qui exécute cette requête, extrait ses résultats dans un tableau et génère le graphe correspondant. Le problème, c'est que ces stats doivent à chaque fois concerner une période donnée (du 2010-05-01 au 2010-05-31 par exemple). Or, lorsque je modifie les dates de ma requete, et que je relance ma macro, les données obtenues sont celles correspondant à ma requête telle qu'elle était lorsque j'ai enregistré ma macro. J'aimerais donc savoir s'il est possible au moment où on lance la macro, de faire référence à la requête actuelle, et non pas à la requête datant de l'enregistrement de la macro. J'espère avoir été à peu près clair :)


Une autre solution (peut être meilleure) serait de créer 2 champs de texte sur ma feuille excel (date de début et date de fin de la période), et un bouton pour lancer la macro. Le souci cette fois, c'est que je n'arrive pas à faire référence proprement à mes champs de texte (la date saisie est pourtant au même format que celle de la db) dans le code.
Voilà la requête telle qu'elle est générée par Microsoft Query:

Code:
"SELECT ..
FROM ..
WHERE (glpi_tracking_0.date>=[COLOR="Orange"]{ts '2010-09-02 08:43:00'}[/COLOR] And glpi_tracking_0.date<[COLOR="orange"]{ts '2010-10-01 08:02:00'}[/COLOR]) 
GROUP BY ..

L'idée serait donc de remplacer les dates en orange par une variable qu'on va chercher dans un champ de texte de la feuille excel. Si je met en dur '2010-05-01' par exemple, ça fonctionne, par contre si je saisis cette même date dans mon champ de texte (date1) et que je met date1.Value ou .Text ça ne va pas.
J'ai essayé pas mal de choses mais j'ai toujours une erreur:
Code:
WHERE glpi_tracking_0.date BETWEEN #" & Format$(date1.Value, "YYYY-MM-DD") & # AND #" & Format$(date2.Value, "YYYY-MM-DD") & "#

Code:
WHERE (glpi_tracking_0.date>={ts '" & Format$(date1.Value, "YYYY-MM-DD \0\0\:\0\0\:\0\0") & "'} And glpi_tracking_0.date<{ts '" & Format$(date2.Value, "YYYY-MM-DD \0\0\:\0\0\:\0\0") & "'})

Ca fait un petit moment que je n'ai pas touché à VB, donc si vous avez des idées n'hésitez pas à m'en faire part!

Merci