作成日: 2017/03/10 最終更新日: 2017/09/27
文書種別
制限事項
詳細
※この現象は「ページレポート/RDLレポート」のみで発生します。
※サービスパックの適用状況によって、発生する事象の内容が異なります。
共通フィールドとデータフィールドを文字列結合するような式を設定した時、データフィールドの値または共通フィールドの値が正しく表示(取得)されない場合があります。
たとえば、ページ番号と"Field1"というフィールドの値を文字列結合して、TextBoxコントロールに表示する場合、以下のような式をValueプロパティに設定します。
◆式
このレポートが2ページ表示され、フィールド"Field1"内のレコードの値を"Data1"と仮定した場合、以下のように表示されるのが正しい状態です。
本事象は、上記のように表示されない事象です。具体的な表示内容は、以下のようにサービスパックの適用状況によって異なります。
初版(11.0.9393.1)およびSP2(11.2.11262.1)の場合:データフィールドの値が出力されない
SP1(11.1.10433.1)以降の場合:ページ番号がすべてのページについて"1"になる
なお、本事象は共通フィールドと固定の文字列を結合した場合や、データフィールドと固定の文字列を結合した場合には発生しません。共通フィールドとデータフィールドを1つの式内で結合した場合にのみ発生します。
問題が発生する共通フィールドとしては、以下のようなものが一例として挙げられます。
※共通フィールドについては、製品ヘルプの以下のトピックをご覧ください。
ActiveReportsユーザーガイド
- 概念
- ページレポート/RDLレポートの概念
- 式
- 共通フィールド
なお、本件は9.0J以前のバージョンでは発生いたしません。9.0J以前のバージョンで、共通フィールドとデータフィールドを同一式内に設定しているような場合には、以下の「回避方法」に記載された対処が必要となります。
※サービスパックの適用状況によって、発生する事象の内容が異なります。
共通フィールドとデータフィールドを文字列結合するような式を設定した時、データフィールドの値または共通フィールドの値が正しく表示(取得)されない場合があります。
たとえば、ページ番号と"Field1"というフィールドの値を文字列結合して、TextBoxコントロールに表示する場合、以下のような式をValueプロパティに設定します。
◆式
=Globals!PageNumber & "ページ:" & Fields!Field1.Value
このレポートが2ページ表示され、フィールド"Field1"内のレコードの値を"Data1"と仮定した場合、以下のように表示されるのが正しい状態です。
| ページ | 出力内容 |
|---|---|
| 1ページ目 | 1ページ:Data1 |
| 2ページ目 | 2ページ:Data1 |
本事象は、上記のように表示されない事象です。具体的な表示内容は、以下のようにサービスパックの適用状況によって異なります。
初版(11.0.9393.1)およびSP2(11.2.11262.1)の場合:データフィールドの値が出力されない
| ページ | 出力内容 |
|---|---|
| 1ページ目 | 1ページ: |
| 2ページ目 | 2ページ: |
SP1(11.1.10433.1)以降の場合:ページ番号がすべてのページについて"1"になる
| ページ | 出力内容 |
|---|---|
| 1ページ目 | 1ページ:Data1 |
| 2ページ目 | 1ページ:Data1 |
なお、本事象は共通フィールドと固定の文字列を結合した場合や、データフィールドと固定の文字列を結合した場合には発生しません。共通フィールドとデータフィールドを1つの式内で結合した場合にのみ発生します。
問題が発生する共通フィールドとしては、以下のようなものが一例として挙げられます。
| 共通フィールド | 内容 |
|---|---|
| Globals!PageNumber | ページ番号 |
| Globals!TotalPages | 総ページ数 |
| Globals!PageNumberInSection | ページ番号(セクション内) |
| Globals!TotalPagesInSection | 総ページ数(セクション内) |
| Globals!CumulativePageNumber | ページ番号(丁合い) |
| Globals!CumulativeTotalPages | 総ページ数(丁合い) |
※共通フィールドについては、製品ヘルプの以下のトピックをご覧ください。
ActiveReportsユーザーガイド
- 概念
- ページレポート/RDLレポートの概念
- 式
- 共通フィールド
なお、本件は9.0J以前のバージョンでは発生いたしません。9.0J以前のバージョンで、共通フィールドとデータフィールドを同一式内に設定しているような場合には、以下の「回避方法」に記載された対処が必要となります。
回避方法
本事象を回避する方法としては、以下の2通りが考えられます。
※情報訂正に関するお詫び
本件につきましては、当初『Service Pack 1(v11.1.10433.1)にて修正されました』とご案内いたしており、Service Pack 1付属のリリースノートの「更新履歴」にも、修正項目として記載いたしておりましたが、その後の再調査により、発生内容が変化するのみであることが判明いたしました。
レポートエンジンの基本的な実装内容が関係しており、あらゆるユースケースに対応した安定的な修正が困難であることから、制限事項に変更させていただきました。
本件に関する事象確認・修正・検証・情報公開等について、いたらない点がありましたことを謹んでお詫び申し上げます。
- 式で結合せず、コントロールを分ける
1つのTextBoxコントロールで共通フィールドとデータフィールドを結合して表示するのではなく、共通フィールドの値を出力するコントロールと、データフィールドの値を出力するコントロールを分けて、レポート上に配置する方法です。
問題が発生する式を、TextBoxコントロールのValueプロパティに設定している場合は、こちらの方法をご検討ください。 - 別のTextBoxコントロールを経由する
データフィールドから直接値を取得するのではなく、いったん別のTextBoxコントロールにデータフィールドの値を表示し、そのコントロールを参照するような式に変更する方法です。
レポート上のコントロールを式中で参照する場合、「ReportItems」を使用します。
たとえば、前述の例の場合、データフィールド"Field1"の値を出力するためのTextBoxコントロールを「TextBox1」とすると、以下のような式になります。
=Globals!TotalPages & "ページ:" & ReportItems!TextBox1.Value
問題の式を、Value以外のプロパティに記述したい場合は、こちらの方法をご検討ください。
なお、こちらの方法を用いる場合、データフィールドの値を取得するコントロール(上記の場合、「TextBox1」)を非表示(Visibility.Hidden = True)にすることはできません。レポート上にこのコントロールの値を表示したくない場合は、文字色(Colorプロパティ)を白(White)や透明(Transparent)に設定するか、視認できないくらい小さなサイズに設定してください。
※情報訂正に関するお詫び
本件につきましては、当初『Service Pack 1(v11.1.10433.1)にて修正されました』とご案内いたしており、Service Pack 1付属のリリースノートの「更新履歴」にも、修正項目として記載いたしておりましたが、その後の再調査により、発生内容が変化するのみであることが判明いたしました。
レポートエンジンの基本的な実装内容が関係しており、あらゆるユースケースに対応した安定的な修正が困難であることから、制限事項に変更させていただきました。
本件に関する事象確認・修正・検証・情報公開等について、いたらない点がありましたことを謹んでお詫び申し上げます。
旧文書番号
40131