ネストした詳細テーブルの使用

提供: RAD Studio
移動先: 案内検索

マスタ/詳細関係の作成 への移動


ネストしたテーブルは、別の(マスタ)データセット内の単一のデータセット フィールドの値となる詳細データセットです。サーバー データを表すデータセットの場合、ネストした詳細データセットは、サーバー上のデータセット フィールドにのみ使用することができます。TClientDataSet コンポーネントはサーバー データを表しませんが、ネストした詳細を含んだデータセットを作成する場合や、マスタ/詳細関係のマスタ テーブルにリンクされているプロバイダからデータを受け取る場合は、データセット フィールドを格納することもできます。

メモ: TClientDataSet については、マスタ テーブルと詳細テーブルの更新内容をデータベース サーバーに適用する場合は、ネストした詳細セットを使用する必要があります。

ネストした詳細セットを使用するには、マスタ データセットの Data.DB.TDataSet.ObjectView プロパティが True でなければなりません。ネストした詳細データセットがテーブル タイプのデータセットに格納されている場合は、TDBGrid で、ネストした詳細のポップアップ ウィンドウでの表示がサポートされます。この動作の詳細については、「データセット フィールドの操作」を参照してください。

あるいは、詳細データセットに別個のデータセット コンポーネントを使用することにより、これらのデータセットをデータ対応コントロールに表示したり、編集することができます。設計時に、フィールド エディタを使って、(マスタ)データセット内のフィールド用に永続フィールドを作成します。それには、まず、マスタ データセットを右クリックし、コンテキスト メニューから[フィールド エディタ...]を選択します。表示されたフィールド エディタで右クリックし、コンテキスト メニューから[フィールドの追加...]を選択することにより、データセットに新規の永続フィールドを追加します。新規フィールドを TDataSetField 型で定義します。フィールド エディタで、詳細テーブルの構造を定義します。さらに、マスタ データセットで使用される他のフィールド用の永続フィールドも追加する必要があります。

詳細テーブルのデータセット コンポーネントは、マスタ テーブルで使用可能な型の下位データセット オブジェクトです。TTable コンポーネントでは、ネストしたデータセットとして TNestedDataSet コンポーネントのみ使用できます。TSQLTable コンポーネントでは、他の TSQLTable コンポーネントが使用可能です。TClientDataset コンポーネントでは、他のクライアント データセットが使用可能です。[ツール パレット]から適切な型のデータセットを選び、フォームかデータ モジュールに追加します。この詳細データセットの DataSetField プロパティを、マスタ データセット内の永続 DataSet フィールドに設定します。最後に、フォームまたはデータ モジュールにデータ ソース コンポーネントを配置し、その DataSet プロパティを詳細データセットに設定します。データ対応コントロールでは、このデータ ソースを使用して、詳細セット内のデータにアクセスできます。

関連項目