【问题标题】:passing values into Sub-Reports SSRS将值传递到子报告 SSRS
【发布时间】:2023-03-15 01:29:01
【问题描述】:

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

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

【问题讨论】:

    标签: sql-server reporting-services parameters subreports


    【解决方案1】:

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

    那么请您再次检查它们的属性是否正确? 例如。

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

    希望对您有所帮助。

    附言。对不起我的英语不好。

    【讨论】:

    • 嗨..我的主报告中有大约 4 个 tablix,它们被分组在一个矩形内。当我将子报告添加到矩形中时,它似乎没有从主报告中获取字段值..我很困惑..
    • @Avinash;您将子报表添加到矩形中?您可以尝试通过将子报表放置在 4 个详细信息行之一中来进行测试,看看您是否可以从主报表中获取一个字段。
    • 感谢 indusZ 的建议,我认为这是一种方法。尽管如此,我修改了我的商店程序并避免了子报告..
    【解决方案2】:

    绝对是的。 在您的主报告中放置一个数据集,该数据集将根据您的需要遍历您的项目。然后放一个LIST,这才是重点。该列表应引用此数据集。 现在将您的数据集放在列表的容器区域中,并将其参数设置为主报表数据集的项目 ID。 很简单。

    【讨论】:

      【解决方案3】:

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

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

      这里的目的是创建一个子报表,即每个员工的“考勤卡”,然后创建一个包含所有员工考勤卡的主报告,每个考勤卡都在一个新页面上。

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

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

      将子报表设置为之前创建的报表(例如 TimeCard.rdl,带有单个 Parm:T9_FK)

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

      Name: T9_PK
      
      Value: [T9_PK]
      

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 2021-04-24
        相关资源
        最近更新 更多