Reports for WinForms
サブレポートを使用したマスター/詳細レポートの作成
C1Report デザイナの使い方 > サブレポートを使用したマスター/詳細レポートの作成

サブレポートは、他のレポート(メインレポート)内のフィールドに含まれる通常のレポートです。通常、サブレポートは、マスター/詳細レポートシナリオでのメインレポートの現在の値に基づく詳細情報を表示するように設計されています。

以下の例では、メインレポートに商品区分が含まれ、[詳細]セクション内のサブレポートに現在の商品区分の商品明細が含まれています。

CategoryおよびProducts テーブルに基づいてマスター/詳細レポートを作成するには、Categories レポート(マスタービュー)と Products レポート(詳細ビュー)を作成する必要があります。

手順1:マスターレポートの作成

  1. C1Report ウィザードを使用して、基本的なレポート定義ファイルを作成します。
    1. Northwind データベースからCategoryテーブルを選択します(Nwind.mdb は、ComponentOne Samples\Common フォルダーにあります)。
    2. CategoryNameDescription フィールドをレポートに取り込みます。
  2. C1Report デザイナアプリケーションで、〈デザイン〉ボタンをクリックしてレポートの編集を開始します。
  3. [ページヘッダー]セクションと[ヘッダー]セクションの Visible プロパティを False に設定します。
  4. [詳細]セクションで、[DescriptionCtl]を選択し、それを直接[CategoryNameCtl]の下に移動します。
  5. プロパティウィンドウを使用して、外観の設定(Font および ForeColor)を変更します。この例では、[グラデーション]フィールドが[詳細]セクションに追加されています。[グラデーション]フィールドについての詳細は、「グラデーションフィールドの追加」を参照してください。
  6. プレビュー〉ボタンを選択すると、Categories レポートは次の画面のように表示されます。


手順2:詳細レポートの作成

  1. C1Report デザイナアプリケーションで、〈新しいレポート〉ボタンをクリックし、C1Report ウィザードを使用して基本的なレポート定義ファイルの作成を作成します。
    1. Northwind データベースから、Productsテーブルを選択します。
    2. レポートに以下のフィールドを取り込みます。ProductNameQuantityPerUnitUnitPrice、UnitsInStock、および UnitsOnOrder
  2. レポートデザイナで、〈デザイン〉ボタンをクリックしてレポートの編集を開始します。
    1. [ページヘッダー]セクションと[ヘッダー]セクションの Visible プロパティを False に設定します。
    2. [詳細]セクションで、見出しラベルの揃うようにコントロールを配置します。プロパティウィンドウを使用して、外観の設定を変更します。

手順3:サブレポートフィールドの作成

Tここでは、C1Report デザイナアプリケーションには、Categories レポートProducts レポートの2つの別個のレポートが存在します。次の手順では、ブレポートを作成します。

  1. デザイナの[レポート]リストから、Categories レポート(マスターレポート)を選択します。
  2. デザインモードで、「挿入」タブの「フィールド」グループにある〈サブレポート



    ボタンをクリックし、ドロップダウンメニューからProducts レポートを選択します。


  3. レポートの[詳細]セクションで、マウスポインタをクリックおよびドラッグして、サブレポートのフィールドを作成します。


手順4:マスターレポートへのサブレポートのリンク

マスター/詳細レポートの関係は、サブレポートフィールドの Text プロパティによって制御されます。このプロパティには、サブレポートのデータソースに適用できるフィルタ条件を評価する式が含まれています。

レポートデザイナでは、この数式を自動的にビルドできます。以下の手順を実行します。

  1. サブレポートフィールドを右クリックし、メニューから[サブレポートのリンク]を選択します。


  2. リンクするフィールドを選択できるダイアログボックスが表示されます。


  3. 選択を行い、〈OK〉をクリックすると、レポートデザイナは、リンク式をビルドし、それをサブレポートフィールドの Text プロパティに割り当てます。この場合、式は次のとおりになります。
    "[CategoryID] = '" & [CategoryID] & "'"

または、以下の手順を実行して、サブレポートをマスター レポートにリンクさせることもできます。

  1. プロパティウィンドウで、サブレポートフィールドの Text プロパティをクリックし、ドロップダウンリストから[スクリプトエディタ]を選択します。
  2. VBScript エディタで、次の式を入力します。
    "[CategoryID] = '" & [CategoryID] & "'"
  3. OK〉をクリックし、VBScript エディタを閉じて、式をビルドします。