• ベストアンサー

アクセスのクエリの作成について

アクセス初心者で初歩的な質問で申し訳ございませんが、ご回答をお願いいたします。 テーブル1に 支店名|郵便番号|住所 テーブル2に 支店名|正社員数 テーブル3に 支店名|パートタイマー数 ※パートタイマーが0の支店のデータは入っていません。 この3つのテーブルから、 支店名|郵便番号|住所|正社員数|パートタイマー数 の入ったクエリを作りたいのです。 テーブル3にはパートタイマーが0の支店があり、その支店も0として表示させて、 支店の絶対数は存在させたいのですが、何度やっても支店の数が減少してしまいます。 方法をご教示いただきますよう。 お願いいたします。

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

  • ベストアンサー
  • okky0707
  • ベストアンサー率22% (34/154)
回答No.2

うまくクエリは作れましたか? 初心者さんにSQLビューなんて説明しても分からないのでは? (1)クエリ作成画面で、新規作成にして、テーブル1、2、3を表示する。 (2)このときテーブル1と2、テーブル1と3の支店名が線で結ばれていることを確認する。 (3)線で結ばれていない時は、テーブル1の支店名をドラッグしてテーブル2(3)の支店名の上に  ドロップすると線で結ばれます。 (4)テーブル1と3の支店名を結ぶ線の上で右クリックし、現れたウインドウの「結合プロパティ」を選ぶ。 (5)「テーブル1の全レコードとテーブル3の同じ結合フィールドのレコードだけを含める」  にチェックを入れる。 (6)OKを押すと、支店名間をつなぐ線がテーブル1からテーブル3に向かう矢印になる。  これでクエリビューに切り替えれば、空のレコードも消えずに表示されるはずです。

netnet1008
質問者

お礼

okky0707さま ご回答ありがとうございました。 お礼が遅くなり申し訳ございません。 SQLビューとは?というところだったので、たいへん助かりました。 教えていただいた方法でも試してみたのですが、テーブルが6つというのはだめなのでしょうか。 エラーがでてしまいました。 どういったエラーが出たか、この場でお伝えすれば良いのでしょうが、現在確認できない状態におり申し訳ございません。 netnet1008

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

以下が基本となるクエリのSQLビューとなります。 SELECT テーブル1.支店名, テーブル1.郵便番号, テーブル1.住所, テーブル2.正社員数, テーブル3.パートタイマー数 FROM (テーブル1 INNER JOIN テーブル2 ON テーブル1.支店名 = テーブル2.支店名) LEFT JOIN テーブル3 ON テーブル1.支店名 = テーブル3.支店名; ※ テーブル3にない支店名のパートタイマー数は空白となります。 0とするには以下の部分を変更してみてください。 テーブル3.パートタイマー数  ↓ IIF(IsNull(テーブル3.パートタイマー数),0,テーブル3.パートタイマー数) AS パートタイマー数

netnet1008
質問者

お礼

30246kiku様 ありがとうございます。 早速試してみます。 netnet1008