からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

SQL Server Reporting Services のレポートでカスタム コードを埋め込む

この記事は「Visual Basic Advent Calendar 2014」の参加記事です。

qiita.com

あまり知られていませんが、SQL Server の機能のひとつに SQL Server Reporting Services (SSRS) というのがあります。公式のレポート作成機能ですね。SQL Server Express でも SQL Server Express with Advanced Services をインストールすると、機能制限はあるものの、PDF を作成するくらいのことはできてしまいます。ちょっと凝ったことをやろうとすると Active Report などの製品には敵わないのですが、簡単な帳票であれば作成できてしまいます。
レポートの開発には無償で提供されているレポート ビルダーを使います。テーブルのデータは簡単に参照できるようになっており、VB ベースの基本的な関数も準備されているのですが、ある程度複雑なことをやろうとすると、カスタムのロジックを追加する必要があります。レポート ビルダーでは VB.NET のコードを埋め込んで参照することができます。

手順

レポート ビルダーの [レポートのプロパティ] を表示し、[コード] をクリックします。

カスタム コードを入力するテキスト ボックスにコードを記述します。ここでは Hello World という文字列を返すメソッドを定義します。

任意のテキストボックスの式に =Code.HelloWorld() と指定します。

プレビューで見てみると、ちゃんと表示されてますね。


まとめ

ちなみに dll を参照設定して呼び出したりもできるそうです。