Comparaison de date avec MySQL

  • Initiateur de la discussion Initiateur de la discussion dth0
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
299
Réponses
2
Affichages
511
Réponses
10
Affichages
547
Retour