• 締切済み

Accessクエリの作り方

OS:Windows2000 Access Version:Access2002 大変基本的なことで申し訳ないのですが、どなたか教えてください。 以下のようなテーブルがあります。 ●問合せテーブル 受付NO 受付日 受付時間 社名 担当者名 ・ ・ 機器コード1 機器コード2 問題コード1 問題コード2 対応状況コード ●機器テーブル 機器コード 機器コード名 ●問題テーブル 問題コード 問題コード名 ●対応状況テーブル 対応状況コード 対応状況名 これらのテーブルを使って、単純にクエリで ●問合せクエリ 受付NO 受付日 受付時間 社名 担当者名 ・ ・ 機器名1 機器名2 問題名1 問題名2 対応状況コード としたいのです。 対応状況は、問合せテーブル内でもひとつなので、簡単にクエリで表示できるのですが、機器1・2、及び問題1・2はふたつあり、どのようにすれば名称がそれぞれ表示できるのかが分かりません。 テーブルのリレーションシップで、 対応状況テーブルと問合せテーブル はリレーションが張れました。 機器テーブルと問合せテーブルにリレーションを張ろうと思い、テーブルを追加して、2つ機器テーブルを表示させ、リレーションを張ってみましたが、それをクエリで編集しようとするとデータが参照できないのか、エラーもなく、クエリが開くだけになってしまいます。問題テーブルも同様です。 本当に初心者のお話で申し訳ないのですが、どなたか教えてください。 よろしくお願いします。

みんなの回答

回答No.3

#2です。 質問文にも既に試されてる旨、書かれてましたね…。 失礼いたしました。 > エラーもなく、クエリが開くだけになってしまいます。 というのは、列見出し(受付NO/受付日/受付時間…/問題名1/問題名2)だけが 表示されているということでしょうか? それとも、列見出しの下に新規に追加できそうな行がありますか? (上手に表現できなくてごめんなさい) よろしければ、以下のクエリを作成した結果がどうなるかを教えていただけませんか? 1.問合せテーブルの機器コード1と機器テーブルの機器コードをつないで、   機器コード1、機器コード、機器コード名を表示したテーブル。 2.問合せテーブルの機器コード2と機器テーブルの機器コードをつないで、   機器コード1、機器コード、機器コード名を表示したテーブル。 3.問合せテーブルの問題コード1と問題テーブルの問題コードをつないで、   問題コード1、問題コード、問題コード名を表示したテーブル。 4.問合せテーブルの問題コード2と問題テーブルの問題コードをつないで、   問題コード1、問題コード、問題コード名を表示したテーブル。 いずれも、他のテーブルは使わず、各一つずつで作ってみてください。

neji_yamashita
質問者

お礼

バタバタしてまして、お礼が遅れてしまいました。 すみません;;。 >というのは、列見出し(受付NO/受付日/受付時間…/問題名1/問題名2)だけが表示されているということでしょうか? それとも、列見出しの下に新規に追加できそうな行がありますか? 見出しの下には、追加するための入力行は存在しています。が、何も表示されていません。 最初にテーブルを作成したときに、テーブル同士のリレーションを張りました。そのあと、クエリを作ろうと思ったのですが、この状態です。そのため、リレーションを削除してみました。 が、クエリをデザインビューで開き、テーブルを追加すると、自然と1対多(1:機器テーブル等、多:問合せテーブル)とリレーションが張られています。 このとき(例)機器テーブルは、 機器テーブル と 機器テーブル1 というのが出来ると思いますが、 前者は1対多 後者は1対1?(太線にならず、そのままリレーション) となっています。 クエリ上でリレーションを消して、再度張りなおし、もう一度リレーションを張るのですが、保存後、再度開くと前者の1対多は復活しています・・・。 >よろしければ、以下のクエリを作成した結果がどうなるかを教えていただけませんか? 結果は全て、正常に表示されました。 ここまでやって、だめだったので、一度テーブルを全てエクスポートし、新しいmdbにインポートしてリレーションを張らずに、クエリを作成してみました。 そうしたら・・・ 出来ました。 クエリを作成するときは、テーブルのリレーションは最初に張っちゃいけないんでしょうか。 そもそも、このテーブルのリレーションは、どういう意味かよく分かっていなかった気がします。勉強しなくてはいけませんね・・・。 ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.2

クエリをデザインビューで作ってください。 1.デザインビューでクエリを作成するをダブルクリック 2.問合せテーブルと対応状況テーブルを1つずつと、   機器テーブル、問題テーブルを『2つずつ』追加します。 3.問合せテーブルの「対応状況コード」と対応状況テーブルの「対応状況コード」   問合せテーブルの「機器コード1」と機器テーブル(1つ目)の「機器コード」   問合せテーブルの「機器コード2」と機器テーブル(2つ目)の「機器コード」   問合せテーブルの「問題コード1」と問題テーブル(1つ目)の「問題コード」   問合せテーブルの「問題コード2」と問題テーブル(2つ目)の「問題コード」   をそれぞれつなぎます。 4.   受付NO   受付日   受付時間   社名   担当者名   ・   ・   機器名1 ← 機器コード1と結んだ機器テーブルの機器名   機器名2 ← 機器コード2と結んだ機器テーブルの機器名   問題名1 ← 問題コード1と結んだ問題テーブルの問題名   問題名2 ← 問題コード2と結んだ問題テーブルの問題名   対応状況コード   と選んで実行してください。   どうでしょうか…?

neji_yamashita
質問者

補足

回答、ありがとうございます。 ご指導いただいたようにやってみましたが、データが表示されません。 最初に、作成したときに、テーブルにリレーションを張ってからクエリを作成したので、ご指摘いただいた内容を行うと、勝手にリレーションが張られてしまっていました。 そのため、新たにMdbを作成して、エクスポートで各テーブルをエクスポートし、リレーションを削除してから行ってみました。 しかし、データが何もない状態で表示されてしまいます。 もう一度、ご教授願えますか? よろしくお願いします。

すると、全ての回答が全文表示されます。
  • FLA-SE
  • ベストアンサー率32% (33/103)
回答No.1

問合せテーブルと対応状況テーブルはリレーションを張って、対応状況テーブル.対応状況名で表示できるんですよね? 出来ないといわれている問題名1、問題名2の表示ですが、問題テーブルを二つ使えば出来ると思います。 「問題コード1と問題テーブル1の問題コード」 「問題コード2と問題テーブル2の問題コード」 をそれぞれリレーション張ります。 デザイナを使ってクエリを書いてるんですよね? その際に、テーブルを選択しますよね? そこで問題テーブルを二つ追加してください。 そこで、上記のようにリレーションを張ってみてください。 問題テーブル1.問題名 問題テーブル2.問題名 というのが表示できるようになっているはずです。

neji_yamashita
質問者

補足

回答、ありがとうございます。 ご指導いただいたようにやってみましたが、データが表示されません。 最初に、作成したときに、テーブルにリレーションを張ってからクエリを作成したので、ご指摘いただいた内容を行うと、勝手にリレーションが張られてしまっていました。 そのため、新たにMdbを作成して、エクスポートで各テーブルをエクスポートし、リレーションを削除してから行ってみました。 しかし、データが何もない状態で表示されてしまいます。 もう一度、ご教授願えますか? よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A