Microsoft Access 掲示板

レポート 昇順 グループ化 合計

3 コメント
views
4 フォロー

お世話になります。
アクセス2003(2010)使用しています。

クエリのデータを1,2,3,4,5順に並べて
グループが変わったら(魚⇒肉へ変わるとき)
合計するレポート印刷考えています。
( 1ページで何度も合計します )

ネット検索しながら
レポートの並べ替え/グループ化をいろいろ変更しても
今日は思うように表示させることができませんでした。
なにかよい方法あるのでしょうか。
お手数かけますがご教授お願いいたします。

順番 品 個数

 1   魚   10

2  魚 20

     合計 30

3 肉 10

     合計 10

 4   野菜 10

5  野菜 10

     合計 20

ほほ
作成: 2021/06/25 (金) 22:45:04
通報 ...
1

レポートの「並び替え/グループ化」には
上下のレコードで値を比較してグループ分けする機能はありません。
したがって

順番個数
110
320
420
5野菜5
8野菜5
910
 
というデータの場合は
レポートのレコードソースを何らかの手段で
順番個数グループ
1101
3201
4202
5野菜53
8野菜53
9104
 
という形にする必要があるでしょう。

グループ連番は SQL を用いて
スカラサブクエリや定義域集計関数で付与することも出来ますけど
件数によっては重くなるため、
テーブルに連番用のフィールドを作成して
値を一気に書き込んでしまったほうがいいように思います。

サンプルコードを提示してもいいのですけど
ほほさんのスキルが分かりませんし、Access 2003, 2010をお使いとのことなので
もしかすると、Recordsetを用いたデータ編集のご経験もおありなのではと推測します。

なお、レポート上で工夫するなら、並び替えの最初に

= DCount("*", "テーブル", "順番 <= " & [順番])
      - DCount("*", "テーブル", "品 = '" & [品] & "' AND 順番 <= " & [順番])

という式を組み込んで
ご希望の形に近いレイアウトにすることは可能ですけど
2階層目を「品」でグループ化すると「順番」の昇順にはデータが並ばないでしょう。

以上のヒントをもとに、まずはご自身で試行錯誤してみることをお勧めします。

2
hiroton 2021/06/26 (土) 19:06:06 9ff1a@d02b8

フィールド「小計グループ:nz(DMax("順番","クエリ","品<>'"&[品]&"' AND 順番<"&[順番]),0)」を作って、これを順番よりも上位でグループ化してグループフッターを付けてみたらどうでしょう?

3
ほほ 2021/06/28 (月) 21:04:07 e27f2@0af37

mayu さま
hiroton さま

一時はどうなるのか心配していましたが、
お陰様で思い通りのレポートを出力することができました。
クエリの使い方次第で色んなことが出来そうですので
もうすこし勉強していこうと思っています。
ありがとうございました。