Crystal Visual Studio 的报告:显示 2 个不相关的表格

Crystal Reports for Visual Studio: display 2 unrelated tables

我征求意见,您有什么建议在单个报告中显示 2 个不相关的 table(如果需要子报告),第一个带有分组,第二个 "flat"?

详情:

我正在使用 C# 4 和 Crystal 为 Visual studio 开发报告。 数据来自 Sql Server 2005 中的存储过程,即 returns 2 tables。 我使用 .SetDataSource(Dataset) 方法将数据传递给报告,并检查了数据集中的数据是否正确。

我需要以包含不同部分的相当复杂的形式显示来自 第一个 table 的数据。这部分有效。

在报告的末尾,我需要打印第 秒 table 的数据(没有分组,只是 "flat" 打印)。为此,我添加了一个子报表。

table 没有关系。我在它们上面添加了一个具有相同值的虚拟字段,并用它来模拟数据库专家中的关系;我根据虚拟字段配置了子报表 link。

我有两个问题。

主报表中的数据与第二个 table 交叉连接(我可以预料,因为它们与常量字段相关)

子报表总是空的(我检查了好几次数据源中的table包含正确的数据)。 我尝试了 link 的不同配置,并尝试将子报表放在不同的部分(它应该在报表页脚中)。 我在子报表周围设置了边框:边框已打印但内部是空的。 我还设置了一个公式来计算两个 table 的记录并将计数放在报告中:两者的计数都 > 0。

理想情况下,没有 linked table 没有在 crystal 报告中用作报告工具,用于根据我们的标准显示相关数据并显示 2 个不同的数据集link 并不意味着作为报告也很难集成到 crystal 报告中。

难以集成意味着在任何时候你都必须通过 sqlserver 中的联合或 crystal 报告端 link table,否则它显示为笛卡尔。

按照我的想法,你可以通过一些方法来完成。

方法 1:您可以通过 union 或 unionAll 与列集获取数据,并过滤 table 列没有空值的数据,即. http://www.maximumimpactsolutions.co.uk/blog/comments.asp?bd=118

 Table1col1 Table1col2 Table1col3 Table2Col1 Table2Col2 Table2Col3
 value      value      value      null       null       null  --table1data
 null       null       null       value      value      value      --table2data

方法 2:第二个是子报告,但仍然需要像您已经完成的那样 linked。但是要设置适当的规则(这是非常非常繁琐的工作)。

方法 3:在 c# 端生成 2 个报告并合并为一个 PDF,然后导出。

检查这个 links.

Reporting on multiple tables independently in Crystal Reports 11

http://www.tek-tips.com/viewthread.cfm?qid=241195

http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=4756

http://www.codeproject.com/Questions/348959/Crystal-reports-for-multiple-tables

你的方法看起来不对....起初,如果两者不相关,我看不出创建虚拟字段有任何用处,linking tables 将始终提供交叉加入。根据您的描述的任何方式 table 1 数据被单独显示并且 table 2 数据被单独显示

根据您在主报告中的描述,您需要来自 table 1 的数据,在页脚中您需要来自 table 2 的数据。

试试这个方法:

  1. 不要linktables

  2. 在主报表中取table1,显示需要的显示。

  3. 取子报告,只取 table 2 并显示在页脚中,确保不要 link 主报告和子报告,也不要 link两个 tables.