我有一个生成多页报告的活动报告。我需要它根据详细信息部分中存在的字段“COID”多次显示 M 的第 N 页。例如,如果有 10 页(COID 1001 为 2,COID 1002 为 1,COID 1003 为 7)所以,我想要“第 1 页,共 2 页”,“第 2 页,共 2 页”,“第 1 页,共 1 页” "、"第 1 页,共 7 页"、"第 2 页,共 7 页"...."第 7 页,共 7 页"。
请帮忙。
我有一个生成多页报告的活动报告。我需要它根据详细信息部分中存在的字段“COID”多次显示 M 的第 N 页。例如,如果有 10 页(COID 1001 为 2,COID 1002 为 1,COID 1003 为 7)所以,我想要“第 1 页,共 2 页”,“第 2 页,共 2 页”,“第 1 页,共 1 页” "、"第 1 页,共 7 页"、"第 2 页,共 7 页"...."第 7 页,共 7 页"。
请帮忙。
我只在病房中使用 AR 3.00 版。在这些中,使用子报告可以非常快速轻松地实现。
我对此进行了快速研究,发现早期版本 支持子报告
如何使用子报告按照链接中的文章执行此操作并创建父报告和子报告。对于父报表数据,您只需按 COID 运行 SQL 查询组并将每个 COID 传递给子报表。我会设想一个几乎空白的父报表,在该详细信息部分中有一个详细信息部分插入一个子报表控件。将现有报表分配给子报表控件。
只要我们保持父子报表通信简单,子报表就有自己的问题。并且在父报表中只创建一个子报表实例对象。使用相同的实例从父数据集中的每一行传递参数,即 COID。
有两种方法可以做到这一点。运行单个报表并重置每个组的页码并多次运行报表并将页面合并到一个报表中。
重置每个组的页码
请参阅ActiveReports for ActiveX/COM文档中的此主题。只需在文本框控件上设置正确的属性即可。
合并报表
在这种方法中,您可以为每个 COID 组单独运行报告(例如,使用 WHERE 子句获取正确的数据)。这将在每个 COID 报告中以您想要的方式获取页码。然后,您可以将每个页面中的页面合并到一个报告中。所以类似于以下内容:
For iRpt = 0 to myReports.Count - 1
rpt = myReports[iRpt]
For iPage = 0 to rpt.Pages.Count – 1
mainReport.Pages.Insert(rpt.Pages(iPage))
Next iPage
Next iRpt
在此处查找有关Pages 集合的更多信息。