Crystal Reports就是很多关系

时间:2012-01-04 10:16:40

标签: .net crystal-reports

我不确定如何说出我的头衔所以我只能解释一下我的情况。我在水晶报告方面相对较新,基本上我知道如何做的就是显示线性集合,你有一个数据集,你只需要显示你想要的所有字段,基本上字段有1..1关系。但是,我正在尝试做一个报告,其中字段之间可能存在0..n关系,并将破坏报告的线性特性。例如:

我有以下3套收藏品及其各自的属性:

贡献

  • ContributionMonth
  • ContributionAmount

汇款

  • ContributionMonth
  • RemittancePeriod
  • 金额

没收

  • ContributionMonth
  • ForfeiturePeriod
  • 金额

对于每笔捐款,它可以有0..n与之相关的汇款和/或没收。因此,有些情况下报告看起来应该是这样的:

ContriMonth || ContriAmt || RemitPeriod || 金额 || ForfPeriod ||的

2010年1月|| 954.23 ----- || 2010年第1季度------- || 500.00 --- || || -----------------

------------------ || || --------------- 2010年第二季度-------- || 250.00 --- || || -----------------

2010年2月|| 5000.00 --- || ------------------- || ----------- || 2010年第二季度------- || 550.00

------------------- || || ------------- ------------------- || ----------- || 2010年第三季度------- || 750.00

我已经尝试过使用公式来显示汇款和放弃类似

的详细信息
if({ContributionDetails.ContributionMonth} =         {RemittancesEmployerMonthly.ContributionMonth})
then
{RemittancesEmployerMonthly.TotalEmployerRemittance}
else 
    0.00

但是它会创建一个内部联接,其中只显示有汇款的捐款并跳过没有汇款/没收的价值

我该怎样做这种格式?

先谢谢

1 个答案:

答案 0 :(得分:0)

您需要确保表之间的连接是"左外连接"或"右外连接"。我认为在这种情况下你需要左外连接。这将从主表返回数据,即使其他表中没有数据。

您可以在Database Expert然后在Links标签中进行设置。您可以通过右键单击更改链接。

然后,您需要创建适当的组(ContriMonth)来对返回的数据进行分组。如果没有数据,您还需要检查公式中的空值。