掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBGridにSELECT結果を表示させるには (ID:43736)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
多分、ノンコーディング(SQLを除く^^;)でそれらしいことができます。 フォームにTIBDatabase、TIBTransaction、TIBQueryを2つ、TDataSourceを2つ、 TDBGridを2つ載せます。 IBDatabaseとIBTransactionを関連付け、それぞれ必要なパラメータを設定し データベースに接続できるようにします。 IBQuery1、DataSource1、DBGrid1ともIBQuery2、DataSource2、DBGrid2も それぞれ関連付けます。 で、IBQuery1をマスター側、IBQuery2をディテール(詳細、子)側とするなら IBQuery2のDataSourceプロパティにDataSource1を設定します。 それぞれのSQLですが、DEKOさんが例として提示されたテーブル定義を借りるなら IBQuery1のSQLに SELECT * FROM TBL_MASTER と設定し IBQuery2のSQLに SELECT * FROM TBL_DETAIL WHERE CODE=:CODE と設定します。 これで、IBQuery1、IBQuery2のActiveプロパティをTrueにすれば お望みの表示になると思います。 とりあえずそのまま実行すれば、DBGrid1で選択される行を移動すると それに対応したデータがDBGrid2に表示されます。 要は、ディテール側IBQueryのDataSourceプロパティにマスター側の DataSourceを設定する事と、ディテール側のSQLのWHERE区で <ディテール側テーブルのキーフィールド名>=:<マスター側テーブルのキーフィールド名> を設定する事です。 ただ、この方法のパフォーマンスについては検証してないのであしからず ^^;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.