将值传递到子报告SSRS

时间:2011-02-18 20:37:41

标签: sql-server reporting-services parameters subreports

我有一个没有参数的主报告。但是我必须包含一个与主报告具有相同分组的子报告。 (即,同一报告必须显示主报告中列出的同一项目的数据)我对两个报告使用不同的数据集,但这些表来自同一个数据库。我尝试在子报表中包含一个参数,并将当前projectID传递给子报表的参数。这似乎不可能。

是否可以将主报表中的字段值作为子报表中的参数传递?

3 个答案:

答案 0 :(得分:0)

我对你的“似乎不可能”有点好奇,因为我目前正在处理主报告和子报告。你的简短问题的答案是“是”。绝对可以将值从主报告传递到子报告。

那么请你再次检查一下他们的属性是否正确? 例如。

  1. 您的子报表参数是否已正确创建?
  2. 您可以尝试将子报表放在主报表的详细信息行中。
  3. 设置子报表的属性时,可以设置要作为子报表参数的主报表的哪个字段。这很简单。
  4. 希望得到这个帮助。

    PS。抱歉我的英语很差。

答案 1 :(得分:0)

绝对是的。 在主报表中放置一个数据集,该数据集将根据您的需要通过您的项目。然后列出一个LIST,这是关键点。该列表应引用此数据集。 现在将数据集放在列表的容器区域中,并将其参数设置为主报表数据集的项目ID。 容易。

答案 2 :(得分:0)

这只是对以前的人所说的话的澄清:

注意:在此示例中,T9_PK是表9的主键(即员工表)

此处的目的是为每个员工创建一个“时间卡”子报表,然后创建一个包含所有员工时间卡的主报表,每个报表都在新页面上。

  1. 创建使用参数的报告(例如Parm:T9_PK){这将是子报告,例如TimeCard.rdl}
  2. 将“列表”控件拖放到新报告的设计图面上{这将是主要报告}
  3. 将数据集添加到主报表中,该数据集的字段最终将成为“子报表的参数”。
  4. 将字段(例如T9_PK)从数据集{先前添加到报告}拖到“控件列表”中。

  5. 将子报表控件拖放到主报表上的列表控件的单元格中(例如AllTimeCards.rdl)。

  6. 将子报告设置为先前创建的报告(例如,TimeCard.rdl,使用单个Parm:T9_FK)

    设置子报表属性=>参数:

    Name: T9_PK
    
    Value: [T9_PK]
    

    注意:此子报告的参数是来自主报告数据集的参数

    1. 右键单击'行组'窗格中的'(详细信息)'(设计图面下方)=>新组=> T9_PK
    2. 作为附加选项设置分页符: 右键单击'行组'窗格中的'(T9_PK)'(设计曲面下方)=>组属性{window} =>分页符{左窗格} =>     分页选项:     [x]在每个组的实例之间
相关问题