FastReportでDBを利用した顧客一覧レポートの作成の仕方



データベースのデータを利用して、FastReportの機能で顧客一覧のレポートを作る流れについて解説しました。

こんにちは。ドリームハイブの山本です。

本日は、既存のデータベースのデータを使って一覧表を作るという、レポートを実際に作る作業をやってみたいと思います。

まずはフォームに、frxReportを1つ配置しているんですけれども、ここにデータベースからデータを登録する手順について見てみましょう。

まずデータビューを見ると、FireDACの中のインターフェイスによくあるemployeeデータベースが登録されていますので、これの中のCUSTOMERをドラッグします。

そうすると、FireDACのオブジェクトを使って、コネクションオブジェクトとテーブルオブジェクトが1つずつ用意されました。
Activeにしておきます。

これで、コネクションオブジェクトを経由して実際にインターベースのデータベースと接続された状態になります。

このCUSTOMERテーブルの方にはCUSTOMER情報が入っています。
右クリック表示した時のこういった1001の方から1015の方たちまでが入っているというような状態ですね。

これはこれでおしまい。

CUSTOMERテーブルのデータというのはデータセットなんですけれども、これをfrxReportと結びつけるために、frxDBDataSetコンポーネントを1個用意します。

CUSTOMERテーブルの内容をデータセットに読み込むために、データソースをCUSTOMERテーブル1、CUSTOMERテーブルを選択します。

続いてレポートを開きまして、レポートメニューのデータメニューから、フォームに登録したfrxDBDataSet1を選択します。

そうすると、右側に現在含まれている列の一覧、これがすべて取得できることがわかるでしょう。

具体的なデータのレポートへの配置の方法なのですが、これはデータバンドを使います。

今回1個だけなので、1回マスターデータを見てみましょう。

開くと、配置が自動的にされた後に、どのデータセットを使うか聞かれます。

今回1個しかないのでこのままデータセットを選んでしまえばOKなんですが、後から変える場合は、右クリックして編集する場合や、他にもデータセットプロパティが存在しますので、これによって切り替えてもらえば良いかと思います。

そして、このマスターデータに、どのように右側の列情報、フィールド情報を選択させれば良いかと言うと、いくつか方法があるんですけれども、まずテキストオブジェクトをそのまま配置しても1回キャンセルしますが、これにデータセットとデータフィールドを指定すれば、これはCUST_NOですかね、選択すれば、これできちんとCUST_NOというのが定義されます。

実際プレビューしてもらうと、データの繰り返しの分だけ一覧が表示されるというのが確認できるでしょう。

同じように、このテキストオブジェクトを作った時に、中にあるこの式の挿入によって行うこともできます。

データタブ、この中のCUSTOMER、他の表示したい列を選んで、そしてダブルクリックして確定させたらば、OKボタンで表示させ、OKさせると、さきほどと同じようにデータセットとフィールドが定義されたことがわかります。

これも見れば分かるとおり表示されますね。

1度でもこうやってデータセットとフィールドを定義すると、このテキストオブジェクトの中にはドロップダウンで他のフィールドとか必要であれば選択できますよ、というのが出てきます。
非常に簡単だと思います。

ちょっと場所をずらしまして、もう1個、さらにやりたい、簡単にやる方法としては、1度登録されたデータツリーの中にあるCUSTOMERなどのデータのフィールドをそのままドラッグアンドドロップするという方法があります。

1回消しますが、キャプション作成というのをチェックしてあげると、このドラッグした時に自動的にこれはファーストネームですよ、ここがデータですよ、というのが自動的に表示されるようになります。

ちょっとわかりづらいんですが、プレビューしてみると、CONTACT_FIRSTというのがただ、ラベルとして表示されるだけでまったく同じものが連続してることが見て取れるかと思います。

複数のデータベースの定義が予めフィールドと名前というのがきちんとできていればいいんですが、これは海外であれば便利だと思うんですけれども、日本だと確認程度にしかキャプションは使えないと思いますので、やり方の1つだと思っていただくぐらいでいいんじゃないでしょうか。

このように、1度フォーム上でデータセットを定義したfrxDBDataSetを用意し、そしてレポートメニューからレポートを開いた後にデータの中に含めると。

そうすると、データツリーの中に登録されたデータセットとフィールドの一覧が表示されますので、これをドラッグや各テキストオブジェクトなどに配置して、その中に含めることでデータを繰り返し表示をさせるということができるというのがわかっていただければと思います。

本日は、以上です。