2011-12-04 3 views
2

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 utilisateur et avec l'instruction 'LoadLayout', il obtient tout le format du fichier de rapport .rpx dans une variable de type: DDActiveReports2.ActiveReport et montre enfin il. Maintenant, ma question est: J'ai besoin d'intégrer un sous-rapport dans le rapport principal dit à ce sujet ci-dessus. Le fichier de sous-rapport est dans le projet vb PAS à côté du fichier exe. Comment puis-je établir une relation entre le rapport principal et le sous-rapport et alimenter le sous-rapport avec un jeu d'enregistrements basé sur certaines données que le rapport principal utilise?Utiliser ActiveReports pro 2: Comment travailler avec le sous-rapport?

Merci

Répondre

2

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 (mySubReport.rpx dans mon exemple ci-dessus) ou le nom de contrôle de sous-état (MySubreportControl dans mon exemple ci-dessus), vous pouvez écrire une routine à boucle à travers tous les contrôles en le rapport parent et trouve chaque contrôle de sous-rapport. Ensuite, assurez-vous de stocker le nom du fichier du sous-rapport dans la propriété ReportName ou Tag du contrôle de sous-rapport. Ensuite, vous pouvez charger/lier dynamiquement des fichiers de sous-rapports avec des contrôles de sous-rapport dans votre code. S'il vous plaît répondre avec vos questions en tant que commentaire si vous avez besoin d'aide spécifique à ce sujet.

En outre, la version COM de la documentation ActiveReports est disponible en ligne here (archive) au cas où cela pourrait être utile.

Scott Willeke 
GrapeCity 
+0

Merci pour votre lien :) – odiseh

+0

Malheureusement, ce lien renvoie actuellement "414 Request-URI trop grand" Merci –

+0

@JamesJensen pour la note! Voir le lien suivant (également ajouté à ma réponse ci-dessus): https://web.archive.org/web/20131223173955if_/http://www.datadynamics.com:80/Help/AR2Std/AR2Std_start.htm –

Questions connexes