Microsoft Access 掲示板

進捗管理

4 コメント
views
4 フォロー

ACCESSで工事の進捗管理を行いたいと思っています。

画像1
受注ID 受注金額 前月迄売上 出来高% 受注ID 当月売上 出来高%

SELECT [Q_売上(請負)前月迄].受注ID, [Q_売上(請負)前月迄].受注金額, [Q_売上(請負)前月迄].前月迄, [Q_売上(請負)前月迄].出来高, [Q_売上(請負)当月].受注ID, [Q_売上(請負)当月].当月, [Q_売上(請負)当月].出来高
FROM [Q_売上(請負)前月迄], [Q_売上(請負)当月];

画像の通り当月の売上が「18170-3」しかない場合に、上2行の当月売上と出来高を空欄に
したいのすが、その方法が分かりません。

テーブルとクエリは次の通りです。

テーブル t受注一覧
画像1

テーブル t売上明細
画像1

クエリ Q_売上(請負)前月迄
画像1
SELECT t受注一覧.受注ID, t受注一覧.受注金額, Sum(t売上明細.売上金額) AS 前月迄, [前月迄]/[受注金額] AS 出来高
FROM t売上明細 INNER JOIN t受注一覧 ON t売上明細.受注ID = t受注一覧.受注ID
WHERE (((t売上明細.日付)<#1/1/2020#))
GROUP BY t受注一覧.受注ID, t受注一覧.受注金額
HAVING (((t受注一覧.受注ID) Like "18170*"));

クエリ Q_売上(請負)当月
画像1
SELECT t受注一覧.受注ID, t受注一覧.受注金額, Sum(t売上明細.売上金額) AS 当月, [当月]/[受注金額] AS 出来高
FROM t売上明細 INNER JOIN t受注一覧 ON t売上明細.受注ID = t受注一覧.受注ID
WHERE (((t売上明細.日付)>=#1/1/2020# And (t売上明細.日付)<#2/1/2020#))
GROUP BY t受注一覧.受注ID, t受注一覧.受注金額
HAVING (((t受注一覧.受注ID) Like "18170*"));

最終的には、

受注ID 受注金額 前月迄売上 出来高% 受注ID 当月売上 出来高% 累計売上 出来高%

のような形にできればと思っています。

よろしくお願いします。

yosuke
作成: 2020/02/20 (木) 11:10:51
通報 ...
1
hiroton 2020/02/20 (木) 14:11:14 修正 dbf30@f966d

WHERE句を使わずに、売上金額フィールドを複製してそれぞれに抽出条件を設定し集計するといいと思いますよ

Sum( iif( t売上明細.日付 < #1/1/2020#, t売上明細.売上金額)) AS 前月迄売上,
Sum( iif(t売上明細.日付 Between #1/1/2020# And #1/31/2020#, t売上明細.売上金額)) AS 当月売上,
Sum( t売上明細.売上金額) AS 累計売上
2
名前なし 2020/02/20 (木) 14:51:03 8486c@60c58

返信ありがとうございます。

売上金額フィールドの複製 が勉強不足で良く分かりません。

新規のクエリで上記コードをそのまま貼り付けてみましたが
受注ID別に表示させるための 「like "18170*"」 の入力場所がよく分かりませんでした。

18170の現場を表示させる時には
---------前月迄売上 当月売上 累計
18170-1
18170-2
18170-3

というように表示させたく、売上明細にはそれ以外にも複数の受注IDの売上が入力されています。

3
hiroton 2020/02/20 (木) 16:26:36 修正 dbf30@f966d

売上金額を3列に増やして各列に条件を付けて集計しようということです

SELECT t受注一覧.受注ID,
 受注金額,
 Sum( iif( 日付 < #1/1/2020#, 売上金額)) AS 前月迄売上,
 前月迄売上 / 受注金額 AS 前月迄出来高,
 Sum( iif(日付 Between #1/1/2020# And #1/31/2020#, 売上金額)) AS 当月売上,
 当月売上 / 受注金額 AS 当月出来高,
 Sum( 売上金額) AS 累計売上,
 累計売上 / 受注金額 AS 累計出来高
FROM t売上明細 INNER JOIN t受注一覧 ON t売上明細.受注ID = t受注一覧.受注ID
GROUP BY t受注一覧.受注ID, 受注金額
HAVING t受注一覧.受注ID Like "18170*";

t売上明細を元に一部抜粋すると次のようなデータを集計(合計)する形になります

日付受注ID前月迄売上当月売上累計売上
2019/11/3018170-37,128,0007,128,000
2019/12/3118170-37,128,0007,128,000
2020/1/3118170-32,376,0002,376,000
4
名前なし 2020/02/20 (木) 17:16:35 97073@60c58

思った通りの形になりました。

本当にありがとうございました。