Crystal Report 9 : Problème d'affichage

Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005 - 1 mars 2004 à 15:03
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005 - 7 avril 2005 à 17:28
Bonjour tout le monde,

je suis sur un projet visant à diffuser sur un site des statistiques venant de divers tables de bases de données (dans mon cas, en MYSQL).
Mais j'ai un problème, je n'arrive pas à trouver un moyen pour visualiser des champs qui ne sont pas nécessairement dans la table.

Vous allez comprendre avec un exemple :
Je veux afficher un graphique qui répartit les clients selon leur age... J'ai dans la BD un champ "Date_naiss_client", via une formule j'ai calculé l'age et via un groupe j'affiche sur mon graphique les clients agés de 1 à 5 ans puis de 6 à 10, puis de 15 à 20, etc... Mais dans le cas où il n'y a aucun client dans la BD ayant entre 15 et 20 ans, il ne m'affiche pas de barre avec comme valeur "0", il me la passe tout simplement ! Je me retrouve donc avec un graphique du type : 1 à 5 ans puis 6 à 10 ans puis 11 à 15 ans puis direct 20 à 25 ans (alors que je voudrais qu'il m'affiche ce groupe là quand meme avec aucun barre mais un "0")....

Je sais pas si je m'exprime bien... Mais c'est assez pénible de chercher et de ne pas trouver un moyen pour ca...

Alors, help me plz !!

Merci.
Zombie. :)

17 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 mars 2004 à 18:17
Quel est le rapport avec Crystal Report ?
Je connais pas beucoup Crystal Report donc j'aimerais si possible avoir un bout de code pour regarder comment ca marche car j'aimerais bien en connaitre un peu plus sur ce composant car c'st pas la premiere fois que j'en entend parler

@+ :)

Cyril (Alias Jesusonline)
0
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005
1 mars 2004 à 18:53
Ah oui, si tu connais pas Crystal Report ca va être difficile de t'expliquer :(

C'est un programme qui permet de faire des rapports ou des graphiques.

Dans mon cas, c'est des graphiques (voir exemple dans mon premier message)...

Mais il n'y a aucune code de programmation dans ce programme, c'est de la configuration tout le temps en quelques sorte... C'est ca qui réduit fort les possibilités... C'est dommage. Mais je n'ai pas le choix, je suis obligé d'utiliser ce programme...

Merci pour ta réponse :)

Zombie.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
1 mars 2004 à 19:17
Comment ca : c'est de la configuration ? j'ai Crystal Report sous VS.net et je ne pense pas qu'il n'y a que de la configuration, il n'y a pas de code qui permet de lier tes donnés a ce composant ?
Pour Crystal Report je connais juste ce que tu m'as dit, mais il renvoie les tableaux etc sous quel format pdf ? html ? ...

:)

Cyril (Alias Jesusonline)
0
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005
3 mars 2004 à 10:08
A la base, le rapport est en format ".rpt" et je sais ensuite généré mon rapport en lui donnant des paramètres par exemple comme par exemple le numéro de l'organisation dans laquelle se trouve le client (voir exemple 1er message).

Je peux en effet faire des formules ou des requètes SQL avec ces paramètres mais ca ne change pas l'affichage du graphique pour autant...
C'est à dire que dans tous les cas, quand il n'y a pas de correspondance dans la BD MySQL pour la tranche d'age 15-20 ans par exemple, et bien cette tranche d'age est tout simplement passée (n'est pas affichée) dans le graphique.

Pourtant j'utilise un groupe dans lequel je définis la sortie des données selon un ordre défini. Cet ordre défini, je le fais moi meme en mettant pour chaque tranche la fonction BETWEEN x et y (donc par exemple, 10 et 15)...

Mais comme je dis, une tranche d'age de ce groupe dont aucun client ne s'y retrouve, elle est passée et donc non affichée sur le graphique. Pourtant, je me dis qu'avec un programme aussi gros que Crystal Report, il doit y avoir un moyen pour mettre des groupes à 0 dans le cas où aucune correspondance n'est touvée !

Alors, voilà...
Ca aide ? lol

Zombie.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
3 mars 2004 à 13:40
J'ai lu vite fait le truc mais trop vite fait mais j'ai pas trop le temps mais tu pourrais m'envoyer ton code ? qui permet de generer tes rapports ? Je regarferais ca se soir

@+

Cyril (Alias Jesusonline)
0
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005
3 mars 2004 à 15:47
Mais je n'utilise pour l'instant aucun code !

J'utilise uniquement le programme Crystal Report, et mon rapport est configurer de tel façon qu'il est relier à ma BD MySQL. Et donc, quand je clique sur le bouton "Refresh", il m'affiche dans la fenêtre "Preview" un aperçu de ce que je vais avoir...

Et je n'ai donc pas ce que je veux...

Chris.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
3 mars 2004 à 16:26
Ok donc je penser que tu faisais la liaison SQL Crystal Report grace a du code donc tu fais comment alors ? t sur qu'il n'y a pas une possibilité grace au code, car j'ai vu sur ce site il y a pas trop longtemps un exemple de crystal eport avec du code, sinon vu que je ne connais pas le logiciel ... mais je vois cependant une idée essayer de tricher, avec ta base de donnée en mettant par exemple 0.00000001 au lieu de 0 avec de la chance si il te fait un arrondi il te donnera 0 20-25 ans ou sinon tente un nombre negatif desfois que ca se voit pas sur le graphe :-/

Bon courage

Cyril (Alias Jesusonline)
0
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005
3 mars 2004 à 17:03
Oui, c'est une solution...

Je vais encore chercher un peu mais sinon, je ferai une génération automatique d'une table temporaire en PHP et je l'utiliserai pour mon rapport... Dans cette table, j'y indiquerai simplement une colonne pour la tranche d'age et une autre pour le nbre dedans... et là, vu qu'il y aura au moins une ligne pour chaque tranche... ca passera...

Merci pour ton aide...

Chris.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
3 mars 2004 à 17:21
En PHP ???? [:'(] Tu preferes pas l'asp ? surtout que j'ai une source faisant ce que tu demandes ... ou en asp.net il y a une source qui genere des .gif sur c2i.fr et une source de nix ici ...

Cyril (Alias Jesusonline)
0
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005
4 mars 2004 à 08:52
Oui, en PHP...

De plus, ma base de donnée est en MySQL... C'est plus simple et plus rapide d'y accéder avec du PHP.

Et puis, de toute façon, mon patron m'a demandé de le faire en PHP... lol... On ne va donc pas contredire le boss :)

Chris.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
4 mars 2004 à 18:36
Ok :) mais j'ai qd meme encore une question pourkoi as tu poster alors si un site traitant de l'asp ? et pas sur www.phpfrance.com et une autre crystal report c'est bien pour ASP.net ?

Cyril (Alias Jesusonline)
0
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005
4 mars 2004 à 18:44
Oui, désolé, c'est parce que j'ai vu des sujets en rapport avec Crystal Report...

Et à la base, ma question n'avait rien avoir avec ASP mais avec Crystal Report uniquement :)

Chris.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
4 mars 2004 à 18:52
Ok pas grave mais je savais pas que crystal report c'etait aussi pour php, mais apparemment ce composant à l'air de faire beaucoup de truc il faudrais que je m'y interesse des que j'ai le temps :)

@+

Cyril (Alias Jesusonline)
0
westman Messages postés 3 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 13 janvier 2005
13 janv. 2005 à 12:11
A mon avis il faut simplement revoir la requête sql à la base pour intégrer par jointure externe toutes les tranches d''ages
Comme ça la requeête ramène 0 s'il n'y a rien
la solution est en amont du côté de la requête sql

salut
0
Giganoob Messages postés 1 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 5 février 2005
5 févr. 2005 à 22:03
lu, je travaille depuis 2 ans sur crystal V9 et je n'ai jamais rencontré ce type de probleme



Attention, tu as un service pack associé à cette version l'as tu installé ?



A mon avis, s'il s'affiche pas c'est que c'est un problème lié à ta jointure car tu ne dois avoir d'enregistrement sur cette tranche de date.
Il faut alors aller dans le menu Expert base de données pour modifier ta jointure :)
0
luc_chivas Messages postés 1 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 6 avril 2005
6 avril 2005 à 17:16
Va voir sur le site Business Objects pour forcer la création d'un groupe fictif

Luc
0
Darkzombie Messages postés 12 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 13 juillet 2005
7 avril 2005 à 17:28
Incroyable !



Je ne savais pas que mon message serait ressortis après un an ! :)

Pour vous tenir un peu au courrant, j'ai donc terminé mon projet mélangeant PHP et Crystal Report avec succès.

Concernant le problème de ce sujet, vous avez tous raison, il
s'agissait bien en effet d'un problème avec la requête SQL mais j'ai
finalement du utiliser une table PHP temporaire comme je l'ai expliquer
+ haut car je devais (en php) calculer d'autres données au préalable
concernant ce graphique d'âge (selon entre autre, le choix de
l'utilisateur sur le site et les données qu'il a lui même entré).

Je vous aurais bien proposé de visionner ce site mais vu que la société
où j'y avait fait mon stage de fin d'étude n'avait plus besoins que ce
site soit en activité, il n'est maintenant plus disponible.



Voilà, à tous, encore un grand merci pour votre aide !

A+

Christophe
0
Rejoignez-nous