none
SQLServer2008:ReportingService NoRowsMessageの出力 RRS feed

  • 質問

  • Repoting ServiceにおいてDateSetの抽出レコードが無かった場合、
    NoRowsMessage欄にてメッセージを記載すればデータ領域にその
    メッセージがはきだされます。
    このメッセージに関してFont欄でフォントを指定しても、PDF出力をした
    際にこのメッセージが自動的にArialにエンコードされてしまい文字化け
    となってしまいます。
    以上の問題に関して解決策などはあるのでしょうか?

    2010年9月7日 2:51

すべての返信

  • SQL Server 2008 R2 (ENU) なんですけど、BIDS からレポートを作って No Rows カテゴリの Font からそれぞれ MS Mincho, 18pt, Italic, Bold, Underline を設定して、さらに NoRowsMessage に「レコードがありません」を設定して、プレビューに切り替えてから PDF にエクスポートしたところ文字化けもせずフォントも正しく印刷されました。R2 でなおしたバグかもしれない(ReportViewer のメジャーバージョンが上がっているし)のですが、何かやり方に違いがありますか?


    Please mark the thread as Answered when an answer resolves your problem. 回答が得られたら、もらった回答の [回答済み] ボタンをクリックしてスレッドを回答済みにしましょう
    2010年9月7日 3:59
  • 記載頂いた通りに入力していますが、文字化けしてしまいます。
    プレビュー上ではメッセージは文字化けせず出力されているのですが、
    PDFにエクスポートすると文字化けてしまいます。

    R2で修正されたバグであれば、あきらめるしかないのでしょうか・・・
    もう少し調査してみます。

    2010年9月7日 4:43
  • SQL Server 2008 (ENU)で試してみました。少なくとも文字化けはしませんでした。ただし PDF に出した時、フォントは MS Micho を指定したのに MS ゴシックになり、かつ FontSize, FontStyle, FontWeight, TextDecoration は無効になってました。ビルドは 10.0.2770 です。

    ↓のあたり (10.00.2746) で何か直しているような気がします。

    FIX: Toggled items display incorrectly when you print or export a SQL Server 2008 Reporting Services report
    http://support.microsoft.com/kb/975756


    Please mark the thread as Answered when an answer resolves your problem. 回答が得られたら、もらった回答の [回答済み] ボタンをクリックしてスレッドを回答済みにしましょう
    2010年9月7日 15:11
  • どちらにせよバグがあるみたいなので、こんなやりかたはどうでしょう。

    ヘッダー行を右クリックして行を挿入する(グループには含めない)
    いま挿入した行の左側を右クリックして "Row Visibility" (行の表示/非表示?)を選び、式

    =iif(countdistinct("scope_object")=0,False,True)

    を設定する。
    後はその行のセルをマージしたりフォント スタイルを設定して、データがないときに表示する文字列を入力する。

    要は「データがないときだけ表示する行をヘッダーの下に作る」というアイデアです。これなら書式がおかしくなることもないと思います。試してみてください。


    Please mark the thread as Answered when an answer resolves your problem. 回答が得られたら、もらった回答の [回答済み] ボタンをクリックしてスレッドを回答済みにしましょう

    • 回答の候補に設定 山本春海 2010年9月29日 1:49
    2010年9月9日 4:17