プロが教える店舗&オフィスのセキュリティ対策術

ツール構築に手詰まりしています。教えてください。よろしくお願いします。
結果として、次の内容を一枚のレポートに表示したいのですが、問題が解決できません。
ご指摘とアドバイス頂きたくよろしくお願いします。

<やりたいこと>
レポート印刷ボタンを押下したら、パラメータが表示され、
「いつの?」と聞かれ、「2016/7/4」と入力したら、
「2016/7/4、りんご 2個 みかん 1個」
というレポートができあがる。

<詳細(サンプル)>
次のテーブルがあります。
【T01売上データ】
フィールド①売上日
フィールド②商品CD
フィールド③商品名
【T02商品マスター】
フィールド①商品CD
フィールド②商品名

サンプルデータ
【T01売上データ】
①     ②   ③
2016/7/4  100   りんご
2016/7/4  100   りんご
2016/7/4  200   みかん
2016/7/5 200   みかん
2016/7/5  200   みかん
【T02商品マスター】

100 りんご
200 みかん

<経過>
私は、りんごとみかん用の各テーブルを作成するアクションクエリを作成しました。
【Q01売上件数りんご】
フィールド
売上日
商品CD:抽出条件 "100"
商品名
商品名のカウント
【Q02売上件数みかん】
フィールド
売上日
商品CD:抽出条件 "200"
商品名
商品名のカウント

そして、作成された各テーブルを合体させたクエリを作成してみました。
【Q03売上件数(りんご・みかん、売上日指定】
売上日  パラメータ[いつの?]      from 【Q01売上件数りんご】
商品名                 from 【Q01売上件数りんご】
商品名のカウント             from 【Q01売上件数りんご】
商品名                  from 【Q02売上件数みかん】
商品名のカウント             from 【Q02売上件数みかん】

すると、7/5には、りんごの売上はないはずなのに、表示されているではないですか!?
どうやら前のデータが更新されないまま、残っているようです。
売上日をりんごテーブルからしか使っていないからなのはわかったのですが、
この先が、闇になりました・・。

もっと効率的な方法や、この私の間違いについて、どうかご指導頂ければと思います。

質問者からの補足コメント

  • つらい・・・

    【T01売上データ】は、1行に1個のレコードしか入力されていません。(変更不可)

      補足日時:2016/07/22 00:24
  • うーん・・・

    こういったテキストデータが元データです。
    (他のシステムから取り込んだデータであり、クエリからテーブル作成したものです。)
    1行には、売上行為1回1回の記録が羅列されています。
    この元データを動かすことはできないです。

    そして、このテキストを元にして、
    改めまして、当該質問①として、添付のようなレポートを作成したいのですが、
    (売上日ごとに、決裁をうける)

    私はこのテキストを元にして、クエリを2つ作りました。
    抽出条件で、売上日と商品名を指定して、
    りんごとみかんそれぞれのテキストを作成するクエリです。
    そして、またクエリでそれぞれのテキストを一緒にしようとして、それぞれの売上日をもってきたら、ここで頓挫。。。

    決裁伺には、売上日で、両方の件数を掲載したいのですが、できません。
    原因がはっきりとわかってないだけに、先に進めず、支援頂きたくよろしくお願いいたします。

    「アクセス レポート作成のための効率的なク」の補足画像2
      補足日時:2016/07/23 10:14
  • うれしい

    nicotinismさま
    こちらも、おそるおそるトライしてみたら、なんと!
    商品ごとにテーブル作ったりして、訳わからないことしていましたが、

    1個のクエリで解決できました!!!!!!

    おかげさまで、
    来週こそは、職場で当該ツール作成のための有意義な時間を過ごせそうです。
    ありがとうございました!

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/07/23 13:13

A 回答 (2件)

2016/7/4  100   りんご


2016/7/4  100   りんご
2016/7/4  200   みかん
2016/7/5  200   みかん
2016/7/5  200   みかん
これから得られるのは個数というよりも件数ですね。

売上日  商品CD  商品名  個数
2016/7/4  100   りんご  10
2016/7/4  100   りんご  5
2016/7/4  200   みかん  20
2016/7/5  200   みかん  10
2016/7/5  200   みかん  15

で考えると
SELECT T01売上データ.売上日, T01売上データ.商品CD
, Count(T01売上データ.商品名) AS 件数
, Sum(T01売上データ.個数) AS 商品数計
FROM T01売上データ
GROUP BY T01売上データ.売上日, T01売上データ.商品CD
HAVING (((T01売上データ.売上日)=[いつの?]));
というSQL文で
売上日  商品CD  件数  商品数計
2016/07/04  100  2    15
2016/07/04  200  1    20
となります。
添付図は上記SQL文のデザインビューです。
リボンのΣ集計アイコンから始めてみては?
「アクセス レポート作成のための効率的なク」の回答画像2
この回答への補足あり
    • good
    • 1
この回答へのお礼

nicotinismさま
おはようございます。
いつも本当にありがとうございます。
ご回答を拝見し、もう一度考えてみました。

まずは、こちらの①について、追加コメントしました。
ご覧頂けると幸いです。
よろしくお願いいたします。

お礼日時:2016/07/23 09:51

分からん。



何となく、こんなことやってるのかなぁって感じはします。
それぞれワークテーブル作って日付でリレーション張ってる感じ?
こういう場合、SQLつけてくれると分かりやすいです。
あと画像も。

そろそろ寝るかも。
    • good
    • 1

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