Problème de format sur le graphique Access sous Windows XP - VB/VBA/VBS - Programmation
Marsh Posté le 05-03-2007 à 10:21:25
un petit bout de code ou un code erreur pourraient nous aiguiller pour t'aider
Marsh Posté le 05-03-2007 à 10:54:47
J'ai une table avec une liste de dates( jj/mm/aaaa) associée à un nombre, je fais une requête d'analyse croisée pour extraire les mois et le total par mois afin d'obtenir:
Mois Total
Janvier 15000
Février 22000
...
Cette requête me permet de tracer une courbe.
Pour avoir l’espace de séparation entre les milliers et les centaines, j'utilise "Format()":
Valeur: Format([Total];"Standard" )
Lorsque je l'utilise sous Access 2000 et Windows 2000, cela fonctionne, cad dans la table de données j'ai ma séparation entre les centaines et les milliers et ma courbe se trace.
Lorsque j'utilise Access 2000 et Windows XP, j'ai bien dans la table de données associée à ma courbe ma séparation entre les centaines et les milliers MAIS ma courbe ne se trace pas. Si j'enlève de la table de données l'espace, ma courbe se trace.
Si je remplace le format "standard" par le format "fixe" (pas de séparation):
Valeur: Format([Total];"Fixe" )
Ma courbe se trace.
En gros Windows XP ne reconnaît pas le « format standard » de Access 2000, et j'aimerai savoir comment palier à se problème.
Marsh Posté le 05-03-2007 à 11:14:18
As tu ajouté les références à ton projet (Access Library et compagnie) ?
Marsh Posté le 05-03-2007 à 11:37:16
Oui, j'ai les mêmes références.
J'ai même fais mieux, j'ai créé un exécutable de mon projet grâce à Microsoft Office Developer avec l'outil "Déploiement et empaquetage".
Ce qui veut dire qu'il m'a compacté mon projet avec les .ocx et .dll qu'utilise mes références.
Les références .ocx et .dll n'étant pas "rangé" au même endroit sur Windows 2000 et Windows XP.
J'ai installé mon programme sur un ordinateur avec Windows XP et cela ne fonctionne toujours pas.
J'ai même essayé avec un runtime Access 2000 sur un PC sans Office 2000.
Marsh Posté le 05-03-2007 à 11:44:48
et si tu zappes complètement ton Format() en ne mettant que les valeurs, ca supprime pas le pb ?
Marsh Posté le 05-03-2007 à 11:54:11
Si j'enlève mon format, je n'aurai plus ma séparation entre les centaines et les milliers, même si dans ma table cette séparation existe.
Ma courbe va s'afficher sur une année, mes chiffres sont donc écrit en petit et une séparation est indispensable pour les déchiffrer rapidement. Il vont de 15000 à 500000. (15 000 à 500 000 c'est quand même plus lisible ;-)))
J'ai même étais voir dans les paramètres linguistiques des deux Windows, et c'est identique.
Marsh Posté le 05-03-2007 à 11:58:39
ah ! Mais alors, ton format tu le mets au niveau de ton tableau automatique c'est ca ? Pourquoi ne changes tu pas ton échelle, et mets des milliers, tu irais de 15 à 500 et la plus d'espace à la @#| ^^
Marsh Posté le 05-03-2007 à 12:37:19
C'est une solution que je n'avais pas envisagé.
Mais ça m'ENERVE le fait que ça fonctionne sous Windows 2000 et pas sous Windows XP et que je n'arrive pas à savoir POURQUOI et que je n'arrive pas à résoudre le problème.
#§%£$@ de /£%?£
ça défoule ))
Je tiens à te remercier, jpcheck, pour l'aide que tu m'apportes.
Marsh Posté le 05-03-2007 à 10:03:07
Bonjour,
J'ai réalisé un graphique en analyse croisée sous Access 2000 sous Windows 2000. J'ai mis mes valeurs au format "standard" pour avoir la séparation entre les milliers et les centaines, et cela fonctionne parfaitement.
Mon application est maintenant sous Windows XP, et maintenant le graphique ne reconnaît plus mon format "Standard". Dans le tableau de données, il y a bien la séparation entre les milliers et les centaines, mais la courbe ne se trace pas. Par contre, si j'enlève (à la main) l'espace entre les milliers et les centaines dans le tableau de données, ma courbe se trace.
J'ai essayé diverses méthodes:
- changement de formats
- créer ma courbe directement sous Windows XP pour qu'il installe toutes les composantes
- faire un .cab en réunissant mes .ocx et .dll
- utiliser un runtime
-...
Je n'ai plus d'idées.
Merci d'avance pour votre aide,
Elise.