- ベストアンサー
access2000です。
こんにちは。いつもお世話になっています。 access2000を使用しているのですが、困っています。助けてください。 テーブル1 区分 コード 1 100 2 100 テーブル2 コード 適用 100 ABC テーブル3 コード 適用 100 DEF クエリーを使ってテーブル1の区分が1 コードが100の場合はABCを 区分が2 コードが100の場合はDEFを表示させたいのですが、散々悩んだんですが、分かりませんでした。 可能な方法はあるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 本来ならテーブル2とテーブル3に区分フィールドを作り、テーブル2には1、テーブル3には2と更新クエリで値を入れた後、追加クエリでテーブル2にテーブル3のデータを追加して1つのテーブルにするべきです。それが出来る状況ならやっておいた方が良いです。 でも、自分で作成したMDBではなく、テーブル構成を変更すると不具合が出てしまうといった場合だったら、 テーブル4 区分 テーブル名 1 テーブル2 2 テーブル3 というテーブルを新たに作って、テーブル1とテーブル4の区分を結合したクエリ クエリフィールド 区分 テーブル名 コード 適用:DLookUp("適用",[テーブル名],"コード='" & [コード] & "'") (テーブル1) (テーブル4) (テーブル1) としたらどうでしょう?
その他の回答 (1)
- neko_noko
- ベストアンサー率45% (146/319)
テーブル2,3に「区分」フィールドを追加するのが一番いいんですが。 そうもいかないなら クエリをいくつか組み合せます。 まず、テーブル2だけを使い、コード、適用フィールドを抽出。 さらに、値として「1」を入れたフィールドを作ります。 名前は「区分」としておきましょう。 これで、元テーブルからの「コード」、「適用」フィールドと 値を入れた「区分」フィールドの3つからできたクエリが完成です。 テーブル3も同様にクエリを作ります。値はもちろん「2」で。 あとは、この2つのクエリをテーブル2、3の代わりに使えばよいかなと。 「区分」と「コード」フィールドの2つでリレーションを組めばできるはずです。 手元にAccessがないので、間違ってたらごめんなさい。
お礼
ご回答ありがとうございます。 区分フィールドを追加するのが、一番のようですね。 ご教授の方法も、やってみます。
お礼
ご回答ありがとうございます。 テーブルに区分フィールドが加えられますので、教えていただいた方法で、出来ました。 初心者ですので、日々勉強、中段以下の方法も調べてみます。