- 締切済み
Accessのクエリ集計に関して
すみませんアクセス初心者です。 仕事で以下のような表を作りたいのですがどうしてもできません。。。 助けてください。。。 テーブルは テーブル名:売上実績 担当者 売上 月 科目 ←フィールド 山田 500 04 定番 山本 400 05 定番 山田 600 04 特売 山田 700 05 特売 山本 300 04 特売 山田 300 04 定番 ↑のような感じです! そして作りたいクエリは 担当者 04定番売上合計 05定番売上合計 04特売売上合計 05特売売上合計 山田 800 0 600 700 山本 0 400 300 0 クエリのデザインビューのところに式を入れたらいいのかな・・・? と思うのですが、教えていただきたいですm(__)m
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
【DBLookup()バージョン】 SELECT DISTINCT 担当者, DBLookup("SELECT SUM(売上) FROM 売上実績 WHERE 担当者='" & [担当者] & "' AND 月=4 AND 科目='定番'",0) AS 04定番売上合計, DBLookup("SELECT SUM(売上) FROM 売上実績 WHERE 担当者='" & [担当者] & "' AND 月=5 AND 科目='定番'",0) AS 05定番売上合計, DBLookup("SELECT SUM(売上) FROM 売上実績 WHERE 担当者='" & [担当者] & "' AND 月=4 AND 科目='特売'",0) AS 04特売売上合計, DBLookup("SELECT SUM(売上) FROM 売上実績 WHERE 担当者='" & [担当者] & "' AND 月=5 AND 科目='特売'",0) AS 05特売売上合計 FROM 売上実績 ORDER BY 担当者; 【DSUM()バージョン】 SELECT DISTINCT 担当者, Nz(DSUM("売上", "売上実績", "担当者='" & [担当者] & "' AND 月=4 AND 科目='定番'"), 0) AS 04定番売上合計, Nz(DSUM("売上", "売上実績", "担当者='" & [担当者] & "' AND 月=5 AND 科目='定番'"), 0) AS 05定番売上合計, Nz(DSUM("売上", "売上実績", "担当者='" & [担当者] & "' AND 月=4 AND 科目='特売'"), 0) AS 04特売売上合計, Nz(DSUM("売上", "売上実績", "担当者='" & [担当者] & "' AND 月=5 AND 科目='特売'"), 0) AS 05特売売上合計 FROM 売上実績 ORDER BY 担当者; 添付図は、ADOを利用した自作関数DBLookup()バージョンの実行結果です。が、DSUM()バージョンの実行結果も全く同じです。違うのは処理に要する時間がDSUM()バージョンの3分の1だということぐらいです。 いずれにしろ、このようなやり方が一番何も考えずに簡単に実現する手法です。