0

詳細:

請求書に関する情報を表示するレポートがあります。複数の請求書の間にページ分割があります(各請求書には独自のページがあります)。レポートヘッダーに必要なのは、この式の結果です(例:「2009年6月」)。

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

しかし、私はこの例外を受け取ります(textbox2はヘッダーにあります):

エラー1[rsMultiReportItemsInPageSectionExpression]テキストボックス「textbox2」の値式が複数のレポートアイテムを参照しています。ページヘッダーまたはページフッターの式は、1つのレポートアイテムのみを参照できます。

まず第一に...なぜそれが重要なのですか?!第二に...この奇妙な制限をどのように回避できますか?


大きな絵:

別のテキストボックスからテキストを取得する理由は、ヘッダーまたはフッターでデータフィールドを使用できないという制限を回避するためです。したがって、すべてのトランザクションの横に請求日を示す非表示の列があります。次に、テーブルヘッダーには次の式があります。

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

これはばかげているようで、私はただ何か間違ったことをしていることを願っています。はい、ヘッダーに「月」と「年」のテキストボックスを含めることができますが、レポートのヘッダーに請求書の日付を表示するという単純な要件に対しては、複雑さが高すぎます。

4

2 に答える 2

0

この問題に戻って、SSRS のバグのある動作を回避する方法を見つけました。

すべての書式設定は、ページ ヘッダーではなく列ヘッダー内で行うことができます。ページ ヘッダーのテキスト ボックスは、列ヘッダーから書式設定済みの (完全な) テキストを一度に取得するだけです。複数の参照はもう必要ありません。

これは、別の奇妙な制限に対するハック的な回避策の結果である、奇妙な制限に対するハック的な回避策です。しかし、それは機能します。

于 2009-07-09T08:59:05.013 に答える
0

textbox1レポートのすべてのページに存在するというのは大雑把な推測です。したがって、2 つの請求書がある場合、2 つのページ、したがって 2 xtextbox1があるため、SSRS はどちらを参照すればよいかわかりません。

こちら で説明されているように、レポート パラメーターを操作してみてください。他に何も役に立たない場合は、レポートの本文に請求書 ID を入力する必要があると思います。

于 2009-06-09T09:13:26.363 に答える