• ベストアンサー

access2000です。

こんにちは。いつもお世話になっています。 access2000を使用しているのですが、困っています。助けてください。 テーブル1 区分  コード 1    100 2    100 テーブル2  コード 適用 100   ABC テーブル3 コード 適用 100   DEF クエリーを使ってテーブル1の区分が1 コードが100の場合はABCを 区分が2 コードが100の場合はDEFを表示させたいのですが、散々悩んだんですが、分かりませんでした。 可能な方法はあるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • fly_moon
  • ベストアンサー率20% (213/1046)
回答No.1

こんばんは。 本来ならテーブル2とテーブル3に区分フィールドを作り、テーブル2には1、テーブル3には2と更新クエリで値を入れた後、追加クエリでテーブル2にテーブル3のデータを追加して1つのテーブルにするべきです。それが出来る状況ならやっておいた方が良いです。 でも、自分で作成したMDBではなく、テーブル構成を変更すると不具合が出てしまうといった場合だったら、 テーブル4 区分  テーブル名 1    テーブル2 2    テーブル3 というテーブルを新たに作って、テーブル1とテーブル4の区分を結合したクエリ クエリフィールド 区分      テーブル名    コード     適用:DLookUp("適用",[テーブル名],"コード='" & [コード] & "'") (テーブル1)   (テーブル4)   (テーブル1) としたらどうでしょう?

sutesute
質問者

お礼

ご回答ありがとうございます。 テーブルに区分フィールドが加えられますので、教えていただいた方法で、出来ました。 初心者ですので、日々勉強、中段以下の方法も調べてみます。

その他の回答 (1)

  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.2

テーブル2,3に「区分」フィールドを追加するのが一番いいんですが。 そうもいかないなら クエリをいくつか組み合せます。 まず、テーブル2だけを使い、コード、適用フィールドを抽出。 さらに、値として「1」を入れたフィールドを作ります。 名前は「区分」としておきましょう。 これで、元テーブルからの「コード」、「適用」フィールドと 値を入れた「区分」フィールドの3つからできたクエリが完成です。 テーブル3も同様にクエリを作ります。値はもちろん「2」で。 あとは、この2つのクエリをテーブル2、3の代わりに使えばよいかなと。 「区分」と「コード」フィールドの2つでリレーションを組めばできるはずです。 手元にAccessがないので、間違ってたらごめんなさい。

sutesute
質問者

お礼

ご回答ありがとうございます。 区分フィールドを追加するのが、一番のようですね。 ご教授の方法も、やってみます。

関連するQ&A