Question

J'ai un projet Lagacy (VB6) qui a plusieurs rapports (.rpx) à côté du fichier d'exécution du projet (.exe). Lorsque l'utilisateur exécute le fichier .exe, il télécharge le fichier .rpx dans un dossier local spécifié de la machine de l'utilisateur et avec la déclaration « LoadLayout », il obtient tout le format de fichier de rapport .rpx dans une variable de type: DDActiveReports2.ActiveReport et enfin des spectacles il.

Maintenant, ma question est: je dois intégrer un sous-état dans le rapport principal a dit à ce sujet ci-dessus. Le fichier est sous-état dans le fichier projet vb pas à côté exe. Comment puis-je faire une relation entre le rapport principal et le sous-état et alimenter le sous-état avec un jeu d'enregistrements basé sur des données principales rapport utilise eux?

Merci

Était-ce utile?

La solution

Après avoir chargé le rapport parent, vous devrez charger le sous-état dans une variable, et définissez la propriété de l'objet du contrôle de sous-état à cette variable avant d'exécuter le rapport parent. Par exemple:

' Load parent report:
Dim rptParent As New ActiveReport
rptParent.LoadLayout App.Path & "\myParentReport.rpx"

' Load the subreport:
Dim rptSubreport As New ActiveReport
rptSubreport.LoadLayout App.Path & "\mySubReport.rpx"

' * Initialize the subreport control by passing the actual report to run as a subreport:
Set rptParentReport.Sections("Detail").Controls("MySubreportControl").Object = rptSubreport

' Preview the parent report in the viewer:
ARViewer21.ReportSource = rptParent

Maintenant, si vous ne pouvez pas coder en dur le nom du fichier de sous-état (de mySubReport.rpx dans mon exemple ci-dessus) ou le nom de contrôle de sous-état (de MySubreportControl dans mon exemple ci-dessus), vous pouvez écrire une routine à boucle à travers tous les contrôles dans le rapport parent et trouver chaque sous-état contrôle. Ensuite, assurez-vous de stocker le nom du fichier du sous-état dans la ReportName ou propriété Tag du contrôle de sous-état. Ensuite, vous pouvez charger dynamiquement / lier des fichiers de sous-état avec des commandes de sous-état dans votre code. S'il vous plaît répondre à vos questions en commentaire si vous avez besoin d'aide spécifique avec cela.

En outre, la version COM de ActiveReports La documentation est disponible en ligne ( archives ) dans le cas qui pourrait être utile.

Scott Willeke
GrapeCity
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top