からめもぶろぐ。

SharePoint が得意なフレンズなんだね!すごーい!

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 ベースの基本的な関数も準備されているのですが、ある程度複雑なことをやろうとすると、カスタムのロジックを追加する必要があります。*1レポート ビルダーでは VB.NET のコードを埋め込んで参照することができます。

手順

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

f:id:karamem0:20151116193517p:plain

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

f:id:karamem0:20151116193530p:plain

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

f:id:karamem0:20151116193617p:plain

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

f:id:karamem0:20151116193630p:plain

まとめ

まだ VB は生きている…。
ちなみに、dll を参照設定して呼び出したりもできるそうです。試したことありませんが。

Download Microsoft® SQL Server® 2014 レポート ビルダー from Official Microsoft Download Center
レポートにコードを追加する (SSRS)

*1:たとえば日付を和暦で表示するなどの場合です(白目