在SSRS中执行子报表的问题

时间:2014-05-31 02:52:04

标签: reporting-services

我有两份报告:

主报告(显示为列表)

ISGN,...是table1

中的列

子报告(显示为表格)

ISGN,....是table2的列

要求:

  1. 主报告应显示在一页(每页一个isgn)

  2. 子报告应显示在下一页(这应该将主报告中的isgn作为参数)

  3. 我的方法:

    1. 在设计中,我已将主报告中的每一列都放在另一个文本框中

    2. 所有这些文本框都在一个矩形

    3. 我已在主报告的矩形中插入子报告

    4. 我有两个不同的数据集填充主报告和子报告

    5. 对于Subreport,我创建了一个参数prmisgn

    6. 在设计视图中,我右击了我的子报告 - >子报告属性 - >参数 - >来自主报告的prmisgn = isgn

    7. 对于填充我的子报表的数据集,我已将过滤器应用为isgn = prmisgn

    8. 问题:

      当我预览此报告时,出现错误:

      An error occured while executing the sub report. An object reference is not referring to an instance of an object

      你能帮我解决这个问题吗?提前谢谢:)

2 个答案:

答案 0 :(得分:0)

我将主表中的Rectangle替换为Table,并将其分配给table1 Dataset。表格布局非常灵活,您可以有多个行和列与组。一个单元格(可能在Details行上)将包含子报表。

答案 1 :(得分:0)

由于您的子报表有参数,您应该将值从主报表传递到参数的子报表,步骤为:

In Design view, right-click the subreport and then click Subreport Properties.

In the Subreport Properties dialog box, click Parameters.

Click Add. A new row is added to the parameter grid.

In the Name text box, type the name of a parameter in the subreport. This name must match a report parameter in the subreport. If the subreport is in the project, you can choose the parameter from the drop-down list. If the subreport is on the report server, run the report in Report Manager, and on the Properties tab, click Parameters.

In the Value list box, type or select a value to pass to the subreport. This value can be static text or an expression pointing to a field or other object in the main report.

Repeat steps 3-4 to specify a value for each subreport parameter.