Vb6 使用ActiveReports pro 2:如何使用子报表?

Vb6 使用ActiveReports pro 2:如何使用子报表?,vb6,subreport,activereports,Vb6,Subreport,Activereports,我有一个lagacy项目(vb6),在项目执行文件(.exe)旁边有几个报告(.rpx)。当用户执行.exe文件时,它将.rpx文件下载到用户计算机的指定本地文件夹中,并使用“LoadLayout”语句,将所有.rpx报告文件格式转换为一个类型为DDActiveReports2.ActiveReport的变量,最后显示它 现在,我的问题是:我需要在上面提到的主报告中嵌入一个子报告。 子报表文件位于vb project中,而不是exe文件旁边。如何在主报表和子报表之间建立关系,并根据主报表使用的某

我有一个lagacy项目(vb6),在项目执行文件(.exe)旁边有几个报告(.rpx)。当用户执行.exe文件时,它将.rpx文件下载到用户计算机的指定本地文件夹中,并使用“LoadLayout”语句,将所有.rpx报告文件格式转换为一个类型为DDActiveReports2.ActiveReport的变量,最后显示它

现在,我的问题是:我需要在上面提到的主报告中嵌入一个子报告。 子报表文件位于vb project中,而不是exe文件旁边。如何在主报表和子报表之间建立关系,并根据主报表使用的某些数据向子报表提供记录集


谢谢

加载父报表后,需要将子报表加载到变量中,并在运行父报表之前将子报表控件的对象属性设置为该变量。例如:

' 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
现在,如果您无法硬编码子报表文件名(
mySubReport.rpx
,在上面的示例中)或子报表控件名(
MySubreportControl
,在上面的示例中),那么您可以编写一个例程来循环父报表中的所有控件并找到每个子报表控件。然后,确保将子报表的文件名存储在子报表控件的ReportName或Tag属性中。然后,您可以在代码中使用子报表控件动态加载/链接子报表文件。如果你需要一些具体的帮助,请回复你的问题作为评论

另外,ActiveReports文档的COM版本可以在线()获得,以备不时之需

Scott Willeke
GrapeCity

不幸的是,该链接当前返回“414请求URI太大”@JamesJensen感谢您的提示!请参阅以下链接(也添加到我的上述答案中):