|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mai 2005 Messages : 64 ![]() |
bonjour tout le monde,
je viens de debuter avec crystal report , je m affronte a un probleme assez delicat . j ai besoin de faire un rapport a partir d une base de sonnée oracle. Voila , j ai deux tables une table operateur (code_op , libelé_op) et une table transaction(op_donneur,op_receveur) . une transaction c est lorseque un operateur est donneur et un autre est receveur. je dois imprimer un tableau qui pour un operateur donnée (1,op1) par exemple il m'affiche comme suivant : _____|___|_____ op2 | 5 | 4 _____|___|_____ op3 | 1 | 0 _____|___|_____ op2 | 2 | 5 la collonne en bleu correspond au nombre de fois ou chaque operateur(op1,op2,op3) est receveur pour l'operateur op1. la collonne en vert correspond au nombre de fois ou chaeque operateur(op1,op2,op3) est donneur pour l'operateur op1. merci pour vos suggestions . |
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Inscription : juillet 2006 Messages : 79 ![]() |
Bon j'ai trouvé quelque chose mais je me suis un peu cassé la tête avec les donneurs et receveurs.... d'un autre côté y'avais peut être plus simple...
Alors pour commencer : Lors de la selection des tables tu importes deux fois operateur (operateur et operateur2) et une fois transaction. Ensuite tu ne fais aucun lien entre les tables. Tu créer un champ paramétré (je l'ai appelé chx_operateur) qui demande un entier, tu lui mets comme valeur par defaut les codes opérateurs. Tu peux rajouter les libellés en description pour plus de clarté. Dans l'expert selection tu précise que operateur.code = {chx_operateur} ensuite, tu créer une formule. Dans un élan d'inspiration je l'ai appelée colonne... : syntaxe basic Code :
ensuite il te reste a construire ton tableau croisé en ligne : operateur2.libelléen colonne : colonneen détail : un compte de operateur2.codePour la colonne en option de groupe il faut demander un ordre spécifié, receveur puis donneur si tu veux comme dans ton exemple, et surtout dans l'onglet 'Autres' cocher la case 'supprimer tous les autres'. Voila je crois que c'est tout... en tout cas sur mon jeux d'essai ca marchait bien, maintenant j'espere que j'ai bien compris ton problème ! Bon courage ! edit : de rien.... |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com