Crystal reports 是否将子报表字段传递给另一个子报表?

Crystal reports 是否将子报表字段传递给另一个子报表?,crystal-reports,crystal-reports-2008,crystal-reports-8.5,Crystal Reports,Crystal Reports 2008,Crystal Reports 8.5,我有一份相当复杂的报告。我已经设法创建了它,直到第一个子报告。现在,我必须在第二个子报表“中水平地汇总第一个子报表的字段 1) 如何将字段从子报告1传递到子报告2(名称和总计),并每年水平列出 2) 我如何让每个摘要以类似(客户1,年份1…渴望)的方式显示出来。如果我为第二个子报告插入一个部分,它会显示紧接着(Client1,Year1)的第二个子报告。我在“专家”部分中设置了页面,但它不是我想要的顺序:| 我想在(客户1,第1年------渴望)之后展示这一部分 报告的设计方式如下 Main

我有一份相当复杂的报告。我已经设法创建了它,直到第一个子报告。现在,我必须在第二个子报表“中水平地汇总第一个子报表的字段

1) 如何将字段从子报告1传递到子报告2(名称和总计)
,并每年水平列出

2) 我如何让每个摘要以类似(客户1,年份1…渴望)的方式显示出来。如果我为第二个子报告插入一个部分,它会显示紧接着(Client1,Year1)的第二个子报告。我在“专家”部分中设置了页面,但它不是我想要的顺序:|

我想在(客户1,第1年------渴望)之后展示这一部分

报告的设计方式如下

Main Report
   ---- 
       Sub Report 1
          Group (Client 1 Year 1)
          --------------------------------
          Name  Amount   TotalAmount
          --------------------------------
          John  1,000     300,000,000
          End of Page 
          ----------------------------------
          (Client 1 Year 2)
          --------------------------------
          Name  Amount   TotalAmount
          --------------------------------
          John  5,000     400,000,000 
          End of Page 
          ----------------------------------

          Group (Client 2 Year 1)
          --------------------------------
          Name  Amount   TotalAmount
          --------------------------------
          Stevens  1,000     10,000,000
          End of Page 
          ----------------------------------
          (Client 2 Year 2)
          --------------------------------
          Name  Amount   TotalAmount
          --------------------------------
          Stevens  2,000     40,000 
          End of Page 
         ----------------------------------
       End Sub Report 1
  -----
       Sub Report 2
  ----------------------------------------------------------------
    Name      TotalAmount        TotalAmount .......   TotalAmount
  ----------------------------------------------------------------- 
    John     Year1(TotalAmount) Year2(TotalAmount).... YearnN(TotalAmount)
    Stevens  Year1(TotalAmount) Year2(TotalAmount).... YearnN(TotalAmount) 

 End Sub Report 2

如何将字段从子报表1传递到子报表2


使用全局变量。将主报表中的变量定义为全局变量,并在子报表1中更新,然后在子报表2中访问它们。

如果可能,我建议将子报表数据从子报表移到主报表中,并在报表页脚中添加交叉选项卡。

使用共享变量如何?global和sharedvar之间的区别是什么?嗨,我尝试使用global var,但由于我的第二个子报表位于主报表的页脚内(正如我希望它显示在第一个子报表之后),但global numbervar仅返回1个值。是否可以通过数组实现?比如我将(ClientName,TotalAmt,Year)存储在数组中,然后以某种方式在第二个子报告中打印出来?在哪里(您在哪个部分声明了变量?如果您在主报表的报表页脚内的子报表中使用,请在报表页眉部分声明变量。嘿,它不起作用。我已将公式字段放置在子报表页眉中。它只显示1条记录,而不是第一个子报表中的记录列表。在我的第一个示例中t子报表I定义了一个公式字段,如WhilePrintingRecords;shared numberVar netprem:={@Gross Premium}-({Command.GENCOMMPERCENT}/100)*{@Gross Premium})在第二个子报表中,我通过shared numbervar netprem:=netprem访问它;只显示1个数值。您应该在主报表的报表标题中声明变量,而不是在子报表的标题中声明变量。我完全按照您所说的做了,现在问题已经出现,交叉选项卡中需要子报表中的一些公式字段。如何获取m?我无法将我的第一个子报告移动到主报告中,因为它是主详细布局,而且交叉表将用于主报告中的主查询。单击子报告中的公式字段,Ctrl-C复制它们,然后选择主报告并粘贴它们-公式字段应显示在字段管理器中以及主报表的报表正文。(如果已将它们粘贴到不需要它们的位置,请将它们从正文中删除。)如果在将子报表数据移动到主报表中时更改了任何字段名称,则可能需要编辑主报表中的公式。谢谢Mark。我会尝试一下,稍后再通知您。嗨,Mark,我尝试了您所说的。现在它抛出了一个字段未知错误(因为公式字段“c=a+b”在子报表内部的查询中返回了“a+b”,在主报表的查询中无法找到。有什么线索吗?@Popo,我最初的答案是将子报表数据从子报表移到主报表中(如果可能的话)。如果a和b在子报表查询中,答案是将它们移到主报表查询中;如果a和b已经在主报表查询中,但现在称为aa和bb,答案是将公式修改为c=aa+bb,或者将aa和bb重新命名为a和b(以较容易的为准)。