連載
» 2008年05月28日 00時00分 UPDATE

連載:VBで実践! 外部コンポーネント活用術:帳票作成ツール「ActiveReports .for NET 3.0J」を使う (2/4)

[岸本真二郎,デジタルアドバンテージ]

ActiveReportsの特徴

 ActiveReportsによって出力されるレポートは、基本的には、Page Header(ページ・ヘッダ)、Detail(帳票本文)、Page Footer(ページ・フッタ)の3つのパートで構成されています。Page HeaderとPage Footerは、レポートが印刷される際に各ページのヘッダとフッタ部分を出力するものです。Detailはデータセットに含まれるレコードの数だけ繰り返し出力される部分です。基本的にはこれらの3つのパートに必要な出力内容を設定することでレポート全体を印刷します。

 さらに、レポートの先頭ページに1回だけ出力されるReport Header(レポート・ヘッダ)や印刷の最終ページに1回だけ出力されるReport Footer(レポート・フッタ)をレポートに加えることもできます。

■レポートのデザイン

 ActiveReportsではレポートに配置できる13種類のコンポーネントが用意されています。これらのコントロールを必要に応じてレポートに配置していきます。

コントロール名 説明
Label テキストラベル(固定文字列)
TextBox テキストボックス
CheckBox チェックボックス
RichTextBox リッチテキスト
Shape 長方形、だ円、角丸四角形
Picture 画像
Line 直線
PageBreak 強制的に改ページを行う
Barcode バーコード
SubReport レポートの中にさらに別のレポートを埋め込む
OleObject OLEオブジェクトを埋め込む
ChartControl 7種類のグラフ(チャート)
ReportInfo ページ情報や印刷を行った日付など
レポートで利用できるレポート・デザイン用のコントロール

 レポート・デザイン用のコントロールには「Label」や「TextBox」のように標準コントロールに類似するものも含まれています。基本的にレポートは印刷されるわけですから、LabelコントロールとTextBoxコントロールは結果的には同じような出力になります。両者の違いを簡単に説明すると、Labelコントロールはデザイナ上で固定の文字列を設定するもので、TextBoxコントロールはデータバインド時やレポート出力時に、動的に内容が決まる文字列を出力するものと考えていいかもしれません。TextBoxコントロールはLabelコントロールに比べて設定項目を多く持ち、また、印刷時にコントロールにセットする内容がない場合には、自動的にコントロールの高さをゼロにして印刷領域の無駄を省くこともできます(この機能が重宝する場面が意外とあります)。

 レポートのデザインは「ActiveReportsデザイナ」で行います。ActiveReportsデザイナはIDE(統合開発環境)に組み込まれます。操作方法はWindowsフォーム・デザイナと同様で、レポートに配置したいコントロールを[ツールボックス]からドラッグ&ドロップして、[プロパティ]ウィンドウでコントロールの詳細を設定します。

dt-activereports_02.gif ActiveReportsデザイナ

■用紙の設定はレポート設定で

 プリンタの用紙設定や、レポートにコントロールを配置する際のグリッドの設定は、[レポート設定]ダイアログで行います。レポートのデザイン時には、IDEのメニューバーに[レポート]というメニュー項目が現れますので、[レポート]−[レポートの設定]を選択します。

dt-activereports_03.gif [レポートの設定]ダイアログ

 レポートの用紙のサイズが決まっている場合(ほとんどの場合そうだと思われますが)、[レポートの設定]ダイアログの[プリンタ]タブでA4やB5などのプリンタの用紙サイズ、もしくは用紙の幅や高さのマージン(=余白)を設定します。また[グローバル設定]タブでは、ActiveReportsデザイナのグリッドの単位(インチかセンチメートル)やグリッドの設定を行います。

 ただし用紙サイズとマージンの設定をここで行ってもActiveReportsデザイナ上に表示される用紙の幅が自動的には決まるわけではないようです。例えばA4で縦(ポートレート)で印刷する場合の用紙の横幅は、ほぼ21cmですが、左右のマージンを[レポートの設定]で2cmずつとった場合のデザイナ上の用紙の幅は実質的には19cmになり、この値はデザイナ上で手動設定する必要があります。幸い3.0Jでは、ActiveReportsデザイナ上でプレビュー表示できますので、用紙からはみ出てしまっているかどうかを確認できます。用紙からはみ出る境界に赤いラインが表示されます。

■レポート・エクスプローラ

 レポート(PageHeader、Detail、PageFooterなど)に配置したコントロール群を一覧表示して確認できるレポート エクスプローラが用意されています。これは、Windowsフォーム上に配置したコントロールを一覧表示できる「ドキュメント アウトライン」に相当するものと考えればよいでしょう。

dt-activereports_04.gif レポート・エクスプローラ

 レポート エクスプローラでコントロールを選択すると、デザイナ上の該当するコントロールが選択状態となり、[プロパティ]ウィンドウにそのコントロールのプロパティが表示されます。配置するコントロールの量が増えてデザイナ上でうまくコントロールを選択できない場合に重宝します。

■出力可能なメディア

 ActiveReportsは、プリンタにレポートや帳票を印刷するツールですが、プリンタ以外にも、直接PDFやHTML、Excelなどの形式のファイルを出力できます。

■プレビュー・コントール(Viewerコントロール)

 印刷内容を事前に確認できるプレビュー・コントロール(Viewerコントロール)が用意されています。フォームに上にこのプレビュー・コントロールを貼り付けるだけで、簡単にアプリケーションに印刷プレビュー機能を付加できます。

■グラフ(チャート)

 さらにレポートにグラフ(チャート)を印刷できます。帳票というイメージからはちょっと離れるかもしれませんが、以下のように、かなりの種類のグラフが用意されています。

カテゴリ グラフの種類
一般グラフ エリア グラフ
2D棒グラフ
ガント チャート
2D横棒グラフ
ベジェ グラフ
バブル チャート
ドーナツ チャート/円グラフ
折れ線グラフ
散布図
3Dグラフ 3Dエリア グラフ
3D棒グラフ
3D横棒グラフ
集合棒グラフ
3D折れ線グラフ
3Dドーナツ チャート/円グラフ
3Dファンネル チャート
ピラミッド チャート
3D積層棒グラフ
3D積層棒グラフ(%)
XYチャート バブルXYチャート
折れ線XYグラフ
XYプロット グラフ
財務グラフ ローソク足チャート
HiLoチャート
HiLoOpenCloseチャート
カギ足チャート
ポイント&フィギュア チャート
練行足チャート
新値三本足チャート
グラフの種類

 これらのグラフはChartControlコントロールにより提供されています。次の画面は、ChartControlコントロールを貼り付けたレポートの印刷プレビュー画面です。グラフの種類としては3Dグラフの1つを使用しています。

dt-activereports_05.gif グラフ(ChartControlコントロール)を貼り付けたレポートの印刷プレビュー画面
ActiveReportsに付属するサンプル・プログラムを実行したもの。

■グラフ・ウィザードとグラフ・デザイナ

 実際にActiveReportsデザイナ上にChartControlコントロールをツールボックスからドロップ&ドロップすると、まず次の画面の[グラフ ウィザード]ダイアログが表示されます。ここで印刷するグラフの種類(先ほどの「グラフの種類」の表を参照)、外観などを設定します。

dt-activereports_06.gif [グラフ ウィザード]ダイアログ

 レポートに貼り付けた後は、[プロパティ]ウィンドウから[グラフ デザイナ]ダイアログを起動することで設定内容を修正できます。

dt-activereports_07.gif [グラフ デザイナ]ダイアログ
グラフの背景や凡例といった詳細な内容をここで設定する。

 以上、ActiveReportsの基本機能をざっと確認しました。

 それでは簡単なプログラムを作成しながら、ActiveReportsでのレポート作成の手順を紹介しましょう。

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。