Customer List レポート
2 つ目のレポートは、最初のレポートよりはるかに複雑です(企業のクライアントの DB テーブルを含んでいます)。このレポートを生成するために、Delphi の配布キットに含まれているデモ データベースの DBDEMOS
を使用しましょう。
Delphi で新しいプロジェクトを作成し、フォームに TTable
コンポーネントを配置して、プロパティのいくつかを設定します。
DatabaseName = 'DBDEMOS'
TableName = 'Customer.db'
テーブルのデータを FastReport で利用できるようにするために TfrxDBDataSet
コンポーネントをフォームに追加して、1 つのプロパティを設定します。
DataSet = Table1
最後に、TfrxReport
(FastReport の基本コンポーネント)をフォームに追加し、それをダブルクリックして FastReport デザイナーを開いたら、[新しいレポート]ボタンをクリックします。そうすると、3 つのバンド(レポート タイトル、マスター データ、およびページ フッター)を持つ基本のレポート デザインが自動的に作成されます。
テーブルを使えるようにするには、FastReport でそれを有効にする必要があります。これは、[レポート]>[データ]メニュー項目をクリックし、frxDBDataset1
(現在のところ、一覧に表示される唯一のデータセット)にチェックマークを入れて[OK]をクリックすることにより行います。ダイアログ ウィンドウが閉じた後、接続されている DBDataset
およびテーブルのフィールドが IDE の[データ ツリー]ウィンドウで見えるようになります。
では、レポートをデザインしましょう。まず、"Customer list" テキストの入ったテキスト オブジェクトをレポート タイトル バンドに追加します。
次に、マスター データ バンドをデータセットに接続します。これは、次の 3 つの方法のいずれかで行えます。
バンドをダブルクリックする
バンドのコンテキスト メニューで[編集]を選択する
オブジェクト インスペクターで、バンドの
DataSet
プロパティをクリックする
次に、4 つのテキスト オブジェクト(データセットのクライアントの番号、顧客名、電話番号、FAX 番号のフィールドを表示します)をバンドに配置します。FastReport デザイナーの一部の機能をデモするために、さまざまな方法でこれを実行してみましょう。
1 つ目の方法は、テキスト オブジェクトをバンドに配置し、それに
[frxDBDataSet1."CustNo"]
を入力するものです。これは一番便利さに欠ける方法です。フィールドのリンクを手で入力する必要があるため、テキストを誤って入力する可能性があります。
式デザイナーを使用すれば、いくらか簡単になります。これは、テキスト オブジェクトをダブルクリックし、エディター ウィンドウの[テキスト]タブの一番左にあるボタンをクリックして開きます。フィールドを挿入するには、式デザイナーでフィールド名をダブルクリックします。[OK]ボタンをクリックしてダイアログを閉じ、テキスト オブジェクトに挿入されたフィールド リンクを確認します。
2 つ目の方法は、テキスト オブジェクトに DB フィールドを追加する方法で、オブジェクト インスペクターで 2 つのプロパティを設定します。2 つ目のテキスト オブジェクトをバンドに配置しますが、このとき、エディター ウィンドウには何も記述しません。オブジェクト インスペクターを使用して、オブジェクトのプロパティを設定します。
DataSet = frxDBDataSet1
DataField = 'Company'
これらのプロパティは一覧として表されるため、マウスを使ってドロップダウン リストから必要な値を選択するだけです。
3 つ目の方法は、必要なフィールドを[データ ツリー]ウィンドウからレポートへ「ドラッグ アンド ドロップ」する方法です。これが最も単純で簡単な方法です。ただし、これを行う前に、[データ ツリー]ウィンドウ下部にある[キャプションを作成]チェック ボックスをオフにしてください。そうしないと、フィールド リンク オブジェクト自体のほかに、フィールドの名前を含んでいる 2 つ目のテキスト オブジェクトが作成されてしまいます。このような方法で、Phone フィールドを選択してバンドへドラッグします。
4 つ目の方法は、デザイナー オプションの[フィールドのドロップダウン リストを表示する]フラグが有効になっており([表示]>[オプション]メニューから設定)、バンドがデータセットに接続済みである必要があります。バンドに空白のテキスト オブジェクトを配置し、その上にカーソルを移動させます。そうすると、オブジェクトの右端にドロップダウン ボタンが現れます。このボタンをクリックして DB フィールドの一覧を開き、FAX フィールドを選択します。
レポートのデザインは完了しました。
[プレビュー]ボタンをクリックして、結果を見てみましょう。