详情:
我有一份报告,显示有关发票的信息。多张发票之间有分页符(每张发票都有自己的页面)。我想要的报告标题是这个表达式的结果(例如“2009年6月”):
=MonthName(Month(ReportItems!textbox1.Value)) & ", " & cstr(Year(ReportItems!textbox1.Value))
但是我得到了这个例外(textbox2在标题中):
错误1 [rsMultiReportItemsInPageSectionExpression] 文本框的值表达式 'textbox2'指的不止一个 报告项目。页面中的表达式 页眉或页脚只能引用一个 报告项目。
首先......为什么会这么重要?!第二个......我怎样才能解决这个奇怪的限制?
大图:
我从另一个文本框中抓取文本的原因是解决您无法在页眉或页脚中使用数据字段的限制。因此,有一个隐藏列,显示每笔交易旁边的发票日期。然后表头包含表达式:
=First(Fields!InvoiceDate.Value, "table1_Group1")
这看起来很荒谬,我希望我只是做错了什么。是的我意识到我可以在标题中只添加一个“月”和“年”文本框,但这会使复杂性太高而无法在报表标题中显示发票日期。
答案 0 :(得分:0)
一个疯狂的猜测是,报告的每个页面都存在textbox1
。因此,如果您有两张发票,那么您将有两个页面,因此2 x textbox1
,因此SSRS不知道要引用哪一个。
您可以尝试将报告参数作为described here播放。如果没有其他帮助,我想您必须将发票ID放入报告正文中。
答案 1 :(得分:0)
我回到这个问题,找到了解决SSRS中的错误行为的方法。
所有格式都可以在列标题内完成,而不是在页眉中。页眉中的文本框只是一次性地从列标题中抓取已经格式化(和完整)的文本。没有更多的参考文献。
对于一个奇怪的限制,这是一个hackish变通方法,这是由于另一个奇怪的限制的hackish变通办法的结果。但它确实有效。