Microsoft Access 掲示板

コード毎に合計を出すことがクエリで出来ますか?

5 コメント
views
4 フォロー

ACCESS2016
また1つ質問があります。

コード 値引 合計金額 値引合計
A0001 -50 2500
A0001 -30 3000
A0001 -50 4500
A0001 6000
A0002 -50 800
A0003 -30 1500
A0003 -20 1500
A0004 -100 5000
A0004 -50 5500
コード毎に値引合計を計算し値引合計に入れる
↓ SUMIFS()
で処理

コード 値引 合計金額 値引合計
A0001 -50 2500 -130
A0001 -30 3000 -130
A0001 -50 4500 -130
A0001 6000 -130
A0002 -50 800 -50
A0003 -30 1500 -50
A0003 -20 1500 -50
A0004 -100 5000 -150
A0004 -50 5500 -150

上の表の様にAccessのテーブルをCSVで吐出してEXCELで SUMIFS関数を
使って値引合計をコード毎に標記させています。

データー数が少なければいいのですがデーター数が多いと時間がかかり仕方がありません。

そこでAccessで下の表のような結果になるようにクエリを使って処理できないものかと
色々探してみているのですが先ずはどの様に探していいか、うまく理想のものがヒット
しません。

そもそもクエリを使って可能かどうか?
また出来るので有ればご教授お願い致します。

Muuuuuw
作成: 2023/04/20 (木) 07:43:49
通報 ...
1
hiroton 2023/04/20 (木) 08:39:38 b5970@f966d

手っ取り早いのはDSum関数を使う方法でしょう

DSum 関数

2
Muuuuuw 2023/04/20 (木) 11:27:31 d469c@5e3b0

hiroton様
ありがとうございます。
すみません。もう少し詳しくお願いできますでしょうか。
なにぶん素人なものですから。
クエリを使って可能なのでしょうか?
宜しくお願い致します。

3
hiroton 2023/04/20 (木) 12:00:33 b5970@f966d

上記回答のリンク先はMicrosoftの公式ページですが、キーワードが分かったのなら、例えば「access クエリ dsum」等でWeb検索すればいろいろ情報がでてきますよ


クエリでこのような関数を使う場合、式の中にそのレコードの値を使うことができます。Excelでセル参照をするようなものです(ただし、同じ行のデータしか指定できませんが)

コード毎に集計をしたいということなので、DSum関数の条件(criteria)部分に

"コード='"&[コード]&"'"

を指定すれば目的を達成できるでしょう

4
Muuuuuw 2023/04/20 (木) 14:05:01 d469c@5e3b0

hiroton様

ありがとうございました。
出来ました。
大変助かりました。

5

すでにhirotonさんから回答があるDSumでも可能ですが、DSum関数は重い処理になりますので、データ件数が多い場合は集計クエリを使う方法がいいでしょう。

テーブルから集計クエリを作成して、「コード」をグループ化、「値引」を合計に設定します。

さらにクエリを新規作成して、テーブルと上記の集計クエリを追加して、「コード」で結合すればご希望の結果が得られます。