半日で業務アプリケーションが開発できる!(後編)
データキャッシュ用のコンポーネントを配置する
これでマスター側のデータをキャッシュする設定が完了しました。同様に詳細のSALESテーブル側のデータをキャッシュするために、ツールパレット 上のTDatasetProvider(DataSetProvier2)、TClientDataset(ClientDataSet2)、 TDataSource(DataSource3)コンポーネントをそれぞれダブルクリックし、フォーム上に貼り付けます(図5)。
コンポーネントのDataSourceプロパティを詳細テーブルに設定する
マスターのCUSTOMERテーブルの関連付けと同様に、オブジェクトインスペクタ上で、 TDataSetProvider(DataSetProvier2)コンポーネントのDataSourceプロパティを詳細テーブルのSALESに、 TClientDataSet(ClientDataSet2)コンポーネントのProviderNameプロパティをDataSetProvider2 に、TDataSource(DataSource3)コンポーネントのDataSetプロパティをClientDataSet2に、それぞれ設定しま す。
関連付けられたTClientDataSetを設定する
この状態だとキャッシュデータがマスターのテーブルのキャッシュデータとリンクされていないため、オブジェクトインスペクタ上でSALESテーブル に関連付けられたTClientDataSet(ClientDataSet2)コンポーネントのMasterSourceプロパティにマスターのテーブ ルが関連付けられているDataSource2を設定します。
「リンク項目の設計」ダイアログを表示させる
さらに関連付けのためのキーの設定を行うために、TClientDataSet(ClientDataSet2)コンポーネントのMaterFieldsプロパティの「…」ボタンを押し、「リンク項目の設計」ダイアログを表示させます(図6)。
キャッシュされたデータ同士の関連付けを行う
「リンク項目の設計」ダイアログ上で、リンクするための項目である「CUST_NO」を双方のリストから選択し、「追加」ボタンを押します。この設 定結果がMasterFieldsとIndexFieldNamesの2つのプロパティに反映され、キャッシュされたデータ同士の関連付けが行われます (図7)。