2009-08-12 19 views

Répondre

8

Je pense que c'est une dupe, mais je vais répondre de toute façon. :)

Vous pouvez créer un champ de formule dans le sous-rapport qui contient une variable partagée. Dans la formule, vous définissez la variable partagée sur la valeur du champ rowcount du sous-rapport. Ensuite, dans votre rapport principal, vous devrez créer une formule avec une variable partagée ayant le même nom que le sous-rapport, puis renvoyer la valeur de la variable partagée.

Voici quelques liens qui peuvent vous aider. http://www.datamanagementgroup.com/Resources/TrainersTalk/trainerstalk_howto_share_subreport_data_with_main_report.asp http://www.ozgrid.com/forum/showthread.php?t=19034

+0

+1 yep, variables partagées est la réponse – dotjoe

0
  1. Mettre cette formule dans votre sous-état. Vous pouvez le supprimer de l'affichage si vous le souhaitez.

    whileprintingrecords;
    Numbervar partagé SubRecordCount: = (mais vous souhaitez compter les enregistrements dans le rapport);

  2. Mettez ceci dans votre rapport principal. Encore une fois, cela peut également être supprimé.

    whileprintingrecords;
    partagé numbervar SubRecordCount;
    SubRecordCount

  3. Utilisez le nom de la formule pour # 2 pour les calculs dont vous avez besoin.
    IMPORTANT: En raison de la logique fondamentale de Crystal, vous ne pouvez utiliser ce champ que s'il est inférieur à son sous-rapport.
    De même, pour le comptage des enregistrements dans le sous-rapport, je recommande un total cumulé en bas de celui-ci.

-1

ici vous pouvez retrive nombre de sous rapport d'un côté de code

===========================

CrystalDecisions.CrystalReports.Engine.ReportDocument RepDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); 

RepDoc.Load(ReportName); 

int IntRepCount = RepDoc.Subreports.Count; 

===========================

passe ce compte à votre rapport

+0

Renvoie le nombre de sous-rapports utilisés dans le rapport principal, et non le nombre d'enregistrements du sous-rapport. – Aaroninus