Bonjour à tous,
Mon message parait long mais c'est en fait très simple 
Je suis face à un problème plutôt étrange. Je dois exploiter une base MySQL pour en tirer des stats sous Excel, j'utilise donc le langage VBA.
La base de données est celle d'un outil de gestion de parc (GLPI), pour lequel je dois obtenir le nombre d'interventions par catégorie (dépannage, installation,...), par technicien, par logiciel, etc sur une période donnée. J'ai donc 2 champs de texte sur ma feuille excel qui permettent de saisir les dates de début et de fin de la période.
Le problème c'est que lorsque je fais référence à mes champs dans ma requête concernant les techniciens, ça plante. Alors que toutes mes autres requêtes fonctionnent avec exactement la même méthode (du moins je ne vois aucune différence):
Voici la requête concernant les catégories:
1 2 3 4
| SELECT c.name, AVG(g.realtime)/24, Count(g.ID)
FROM {oj glpi.glpi_dropdown_tracking_category c
LEFT OUTER JOIN glpi.glpi_tracking g ON c.ID = g.category AND (g.date>={ts '" & Format$(ActiveSheet.date1.Value, "YYYY-MM-DD \0\0\:\0\0\:\0\0") & "'} And g.date<{ts '" & Format$(ActiveSheet.date2.Value, "YYYY-MM-DD \0\0\:\0\0\:\0\0") & "'})}
GROUP BY c.name |
Cette requête fonctionne très bien, par contre celle concernant les techniciens plante:
1 2 3 4 5
| SELECT u.realname, AVG(g.realtime)/24, COUNT(g.ID)
FROM {oj glpi.glpi_users u
INNER JOIN glpi.glpi_users_profiles p ON p.FK_users = u.ID AND p.FK_profiles = 5
LEFT OUTER JOIN glpi.glpi_tracking g ON u.ID = g.assign AND (g.date>={ts '" & Format$(ActiveSheet.date1.Value, "YYYY-MM-DD \0\0\:\0\0\:\0\0") & "'} And g.date<{ts '" & Format$(ActiveSheet.date2.Value, "YYYY-MM-DD \0\0\:\0\0\:\0\0") & "'})}
GROUP BY u.name |
Erreur d'exécution '13':
Incompatibilité de type
Pourtant la référence à mes champs de texte est exactement la même 
Lorsque l'on saisit en dur une date au lieu de faire référence aux champs, ça fonctionne:
LEFT OUTER JOIN glpi.glpi_tracking g ON u.ID = g.assign AND (g.date>={ts'2010-08-01 00:00:00'} And g.date<{ts '2010-09-01 00:00:00'})}
Là vraiment je ne vois pas, quelqu'un a une idée
? Il faut vraiment que je règle le problème rapidement donc si qqun a ne serait-ce qu'une piste n'hésitez pas!
Merci d'avance!
Partager