2009-06-09 27 views
0

细节:SSRS - rsMultiReportItemsInPageSectionExpression错误

我有一个显示有关发票信息的报告。多张发票之间有一个分页符(每张发票都有自己的页面)。我想在报告标题就是这个表达式的结果(如“2009年6月”。):

=MonthName(Month(ReportItems!textbox1.Value)) & ", " & cstr(Year(ReportItems!textbox1.Value)) 

,但我得到这个异常(TextBox2中是在头):

错误1 [rsMultiReportItemsInPageSectionExpression] “textbox2”文本框的值表达式 指的是多个 报告项目。页面 页眉或页脚中的表达式可以仅引用一个 报表项目。

首先......为什么会这样?其次......我如何解决这个奇怪的限制?


的大图:

我抓住从另一个文本框中的文本的原因是为了解决你不能在页眉或页脚中使用的数据字段的限制。所以有一个隐藏的列,显示每个交易旁边的发票日期。然后表格标题的表达式如下:

=First(Fields!InvoiceDate.Value, "table1_Group1") 

这看起来很荒谬,我希望我只是做错了什么。是的,我意识到我可以在标题中简单地添加一个“月”和“年”文本框,但这会将复杂度推得太高,无法在报告的标题中显示发票日期。

回答

0

我回到了这个问题,并找到了解决SSRS中的错误行为的方法。

所有格式都可以在列标题内完成,而不是在页头中完成。页面标题中的文本框只需一次从列标题中抓取已格式化(和完整)的文本。没有更多的多重参考。

这是一个怪异的解决方法,这是一个奇怪的限制,这是另一个奇怪的限制hackish解决方法的结果。但它的工作。

0

一个疯狂的猜测是textbox1存在您的报告的每一页。因此,如果您有两张发票,则会有两页,因此2 x textbox1,因此SSRS不知道要引用哪一张。

您可以尝试使用报告参数described here。如果没有其他的帮助,我想你必须把发票ID放入报告主体。

+0

对不起,我不清楚哪个文本框是在哪里。 textbox2是标题中的一个。它抱怨,如果它引用了2个ReportItems(即使它们与我的表达式中的一样)。但是,如果你只参考一次就好了。 – colithium 2009-06-09 14:25:26