Access:クエリの抽出条件に他のテーブルのフィールドを指定

クエリで抽出する場合、他のテーブルのフィールドを条件として設定する方法を解説しています。

BackHomeへ BackAccessクエリへ


クエリ自体に抽出条件を設定している場合、抽出条件の変更は簡単ではありませんが、他のテーブルのフィールドを抽出条件にできればパラメータクエリのように動的に変更することも可能になります。

ここでは抽出専用の別テーブルを作成し、そのフィールドに入力されたデータを抽出条件に指定します。

ですのでクエリで特定のレコードを表示させるには、別テーブルを更新すれば可能になります。

関連する「パラメータクエリの作成 - パラメータに日付を入力する設定例」も掲載していますので参考にしてください。



クエリの抽出条件に他のテーブルのフィールドを指定する方法


■ クエリの元になる商品テーブル

このテーブルから抽出されたレコードを表示します。

クエリの元になる商品テーブル

■ 抽出条件を入力する専用の商品抽出用テーブル

抽出したい商品名だけが入力されています。

抽出条件を入力する専用の商品抽出用テーブル

■ クエリを作成する

リボンの[作成]~クエリグループの[クエリ デザイン]をクリックします。

[クエリ デザイン]をクリック

商品テーブルと商品抽出用テーブルを選択します。

商品テーブルと商品抽出用テーブルを選択

商品名フィールドを、別テーブルの商品名フィールドにドラッグすると、下のように結合線で結ばれます。

商品名フィールドを、別テーブルの商品名フィールドにドラッグ

商品テーブルの「商品ID」と「商品名」フィールドをダブルクリックし下のグリッドに移動します。

「商品ID」と「商品名」フィールドをダブルクリックし下のグリッドに移動

クエリを実行すると、商品抽出用テーブルに入力されている商品名のレコードだけが表示されます。

商品抽出用テーブルに入力されている商品名のレコードだけが表示される


■ 抽出用テーブルを更新する

下のように抽出用テーブルに別の商品を追加します。

抽出用テーブルに別の商品を追加する

実行結果です。

クエリの結果も更新されています。

クエリの結果も更新された

以上のように、抽出条件専用の別テーブルを作成しすれば、他のフィールドから抽出が可能になります。


SQLで表示した場合は下のようになります。
SELECT T_商品.商品ID, T_商品.商品名 FROM T_商品 INNER JOIN T_商品抽出用 ON T_商品.商品名 = T_商品抽出用.商品名;




BackHomeへ BackAccessクエリへ

Copyright(C) FeedSoft