• 締切済み

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

みんなの回答

回答No.1

【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だということぐらいです。 いずれにしろ、このようなやり方が一番何も考えずに簡単に実現する手法です。

関連するQ&A