• 締切済み

Access2007の複数値からの抽出方法に関して教えて下さい。

Access2007の複数値からの抽出方法に関して教えて下さい。 お世話になります。 Access2007にてデータベースを作成中です。 リレーションさせている既に入力済みの複数値を参照し 同テーブルの他のフィールドの抽出条件を指定する方法を教えて下さい。 現在、三つの下記テーブルがあります。 T_管理テーブル T_取引先テーブル T_取扱商品テーブル T_管理テーブルには 管理ID、取引先ID、商品ID T_取引先テーブルには 取引先ID、商品ID、取引先社名 T_商品テーブルには 商品ID、商品名 のフィールがあります。 取引先テーブルの商品IDと商品テーブルの商品IDは リレーションさせています。 また管理テーブルの取引先IDと取引先テーブルの取引先IDも同様です。 取引先テーブルの商品IDには選択した商品によって 複数値(001,002など)が入力されています。 この複数値を元に管理テーブルで商品IDを選択する際に 取引先テーブルの商品IDに入力されたものだけを リストアップして、かつひとつの値を入力するにはどうしたら良いでしょうか。 管理テーブルにおいて商品IDに関しては、ひとつの値しか選ぶ事はありません。 実際にはフォームでは商品IDでは無く、選択時は商品名を表示しています。 最終的に商品名を修正した際には全ての商品ID入力個所において 更新がなされるように出来ればと考えています。 何卒、宜しくお願い致します。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

>INNSER INNERの間違いでした。 しかし、エラーの出かたから見ると、 提示されたレイアウトの他に、別の定義が あるような気がします。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

例えばフォーム(xx)に取引先IDがあるとします。 商品を選ぶコンボボックスのコントロールソースに 以下のようなSQLを定義します。 SELECT B.商品名,A.商品ID FROM T_取引先テーブル AS A INNSER JOIN T_商品テーブル AS B ON A.商品ID=B.商品ID WHERE A.取引先ID = Forms!xx!取引先ID これで、現在フォーム上で指定された取引先の 商品だけが抽出されます。

tamaneko50
質問者

お礼

nda23様 早速のご回答有難う御座います。 ご指示通り行って記述してみたのですが、 「指定されたJOIN句では、複数値を持つフィールド'A.商品ID'は無効です。」 とのエラーが出てしまいます。 何か記述ミスでしょうか。 何とぞ、宜しくお願い致します。