社内SEの話

日々起きたことの記録用

業務ツールのレポート機能作成

↓プログラミングで副業を考えたらこちら↓

帳票は必要

業務の確認や保存資料などで紙媒体は避けては通れません。
様々な業務ツールを作ってもその際にレポート出力機能は必須として扱われています。
たまにExcelで表示してくれればあとはクライアント側で処理してくれる場合がある程度。

Accessは業務ツールとしは強力

プログラムを作ることができる人であれば比較的簡単に作ることができるVBAを搭載しているMS Accessを使っている人も多いのではないでしょうか?
Accessにはテーブル、クエリ、レポート、マクロの機能があるのでクライアント・サーバとして利用する分には十分すぎる機能が備わっています。
どうしてもその多機能の誘惑からついつい使ってしまいがちになります。

Accessは諸刃の剣

どうしても原因不明のバグが発生しがち。
特にデバック中に多分C#でいうDataAdapterがCloseせずに終了させてしまった場合、Accessを開き直すという一手間が必要になります。
その他にもObjectの判定に怪しい動きがあるのでOn Error Goto (try catch)も外せません。
Array系は配列しか標準で持っておらず大量の配列を持ちたい場合の可読性の悪さには注意が必要です。
dictionaryなどは参照設定次第で読めますが、配布したときの動作保証が大変なので使用していません。
バージョン管理もロジックを組んだ状態で管理する必要がある。
内部構造が簡単に見れる。少し知識があれば簡単に改変することもできますし、内容によっては悪意があるユーザがいれば情報漏えいになりかねません。
できれば配布は避けたいです。

Access以外のレポートツールは?

条件

レポートデザイナー一覧

  1. Microsoft Rdlc Report Designer for Visual Studio
  2. SAP Crystal Reports, developer version for Microsoft Visual Studio
  3. ActiveReports for .NET 12.0J

上記以外のレポートデザイナーを知っていたら教えてください。

Microsoft Rdlc Report Designer for Visual Studio

VisualStudioのNugetでダウンロード&インストールができるのが最大のメリット。
配布する際にも特にレポート専用のインストーラーの必要がないのが最大のメリット。
機能は必要最小限が簡単に作成でき、凝った事を始めるととたんに難しくなります。
またデフォルトで作成したレポートは野暮ったいデザインなので自分はあまり好みません。

参照元
レポート デザイナー (Visual Studio)

SAP Crystal Reports, developer version for Microsoft Visual Studio

ERPなどのITメーカー大手のSAPから何故か.net用のレポートデザイナーが無料で公開されています。 VisualStudioのバージョンが上がるたびに使用ができなくなると告知されますが、なぜか対応し続けている謎のソフトです。
あくまでも無料なのでいつまで使用できるかわかりません。
デザイナーUIが用意されているので作成には特に困りません。
サードパーティのソフトなので製作側、クライアント側両方にCRをインストールをする必要があります。
あとこれはCrystal Reports for Visual Studioなので本家Crystal Reportsとは別になりますので気にしておきましょう

参照元 Crystal Reports, Developer for Visual Studio Downloads

ActiveReports for .NET 12.0J

有料のデザイナーソフトです。
ベンダーの方であれば使用したことのある方も多いと思います。
自分は使用したことがないので細かい内容までは知りません。
サードパーティソフトなので別途インストールは必要だと思います。

参照元
ActiveReports for .NET 12.0J

ソフト名 クライアントインストール 無料or有償 デザイナーUI
Microsoft Rdlc 不要 無料 プログラムで定義
SAP Crystal Reports 必要 無料 UI有
ActiveReports 必要 有償 UI有

ありそうでないレポートデザイナー

上記以外で.netでレポート作ろうとしたらPDFを直接作成するような仕様にするか、ゼロから作成するかなど少し現実味のない話になります。
虫のいい話ですが、無料でクライアントインストールの不要な便利なソフトがあればベストです。

レポートとの戦いはこれからだ!