none
Reporting & Clef étrangère RRS feed

  • Question

  • Bonjour,

    Je suis en train d'expérimenter le Reporting (sous VS 2005).
    J'utlise un fichier de rapport local de type rdlc que je visionne via un ReportViewer.
    J'ai quelque problème avec la création du rapport, je m'explique.

    Je supposons que l'on ait un DataSet avec une table PRODUIT et une table CATEGORIE.
    J'ai une clef étrangère categorie_id dans PRODUIT et bien sur la clef primaire dans CATEGORIE avec le libelle de celle-ci.
    Dans mon DataSet je crée une relation avec contrainte de clef pour lier les deux.

    Supposons que je veux dans mon rapport simplement afficher la liste : Nom produit - Nom catégorie.
    J'ajoute un rapport, je vais dans source de données du rapport et j'ajoute les deux tables (déjà là je ne vois plus la relation).
    J'ajoute une liste et j'y place une zone de texte qui affiche le nom du produit (=Fields!Nom_Produit.Value).
    J'ajoute une seconde zone de texte pour afficher le nom de la catégrie et la ça coince impossible de lui faire afficher le nom de catégorie de l'article (de base il affiche toujours le nom de la première catégorie de la table).

    J'ai bien chercher à faire ça avec une expression mais le problème c'est que la notion de relation entre les deux tables n'apparaît nulle part. D'ailleur dans les sources de donnée du rapport je ne trouve que la liste des tables sous la forme NomDataSet_NomTable, impossible donc de coller une expression du type :
    Parent(FK_Products_Categories).CategoryName.
    Pour faire allusion à la table parente.

    J'ai l'impression que chaque objet de rapport (liste, matrice, tableau ect) ne sont capable de traiter que des données "mono table".
    Je devrais donc faire en sorte que le libelle de categorie apparaîsse dans ma DataTable PRODUIT.

    Je me retrouve en fait avec le même genre de pb qu'il y a deux ans :
    http://social.msdn.microsoft.com/Forums/fr-FR/889/thread/50fc3be7-4ad2-4919-872d-7d63098b474d

    Il n'y a donc pas d'autre solution ?

    Cordialement 

    Mael

    mercredi 2 février 2011 14:54

Réponses