プロが教えるわが家の防犯対策術!

access2003初心者です。50商品の在庫管理をしています。
作成したのは
・商品テーブル(商品コード、商品名)
・受注テーブル(日付、商品コード、個数)
です。

受注テーブルには受注があった商品のデータしか入力していません。

しかしレポートでは、すべての商品を並べて
「受注がない商品については、数量を0」
としてレポートを作成したいと考えています。

レポートを作成するには、「元となるテーブルやクエリが必要になってくる」と本に書いてあったのですが、
この元となるクエリを作成することができません。

作成したいクエリは次のとおりです。
  日付   商品 個数
2008/04/01 商品01 2
2008/04/01 商品02 0←このデータ(日付、商品、個数)は受注テーブルにはありません。以下同じ。
・ ・ ・
・ ・ ・
2008/04/01 商品50 2
2008/04/02 商品01 1←ここから日付が翌日になります。
2008/04/02 商品02 1
・ ・ ・
・ ・ ・
2008/04/02 商品50 0
2008/04/03 商品01 2←ここから日付が翌々日になります。
2008/04/03 商品02 2
・ ・ ・
・ ・ ・

データがないものに対して、
自動で日付を入力したり、個数を0にしたりしたいのですが、
どのような抽出条件またはSQLなどを書いたらいいのかわかりません。
よろしくお願いします。

A 回答 (1件)

レコードにないものも全て表示させたいという時には


全てあるレコードと表示させたいものを外部結合させます

質問の場合日付と商品コードの全組み合わせが必要です

全商品は商品テーブルにあるでしょうから
受注テーブルから日付を重複無しに取り出すクエリを作り

これと商品テーブルをクエリデザインビューに取り込み
結合しないで
商品コードと日付を取り出せば
日付と商品コードの全組み合わせができます

この全組み合わせクエリと受注テーブルをクエリデザインビューに取り込み
日付同士、商品コード同士を結合し
結合の種類を[全組み合わせクエリの全レコードを・・・]にします

日付や商品コードをクエリのほうから取り出せばお望みのものができます
    • good
    • 0
この回答へのお礼

ありがとうございます。
希望通りのものができました。

お礼日時:2008/04/15 14:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!