mayu
2021/06/26 (土) 11:50:43
ef559@a99f1
レポートの「並び替え/グループ化」には
上下のレコードで値を比較してグループ分けする機能はありません。
したがって
順番 | 品 | 個数 |
---|---|---|
1 | 魚 | 10 |
3 | 魚 | 20 |
4 | 肉 | 20 |
5 | 野菜 | 5 |
8 | 野菜 | 5 |
9 | 魚 | 10 |
というデータの場合は | ||
レポートのレコードソースを何らかの手段で |
順番 | 品 | 個数 | グループ |
---|---|---|---|
1 | 魚 | 10 | 1 |
3 | 魚 | 20 | 1 |
4 | 肉 | 20 | 2 |
5 | 野菜 | 5 | 3 |
8 | 野菜 | 5 | 3 |
9 | 魚 | 10 | 4 |
という形にする必要があるでしょう。 |
グループ連番は SQL を用いて
スカラサブクエリや定義域集計関数で付与することも出来ますけど
件数によっては重くなるため、
テーブルに連番用のフィールドを作成して
値を一気に書き込んでしまったほうがいいように思います。
サンプルコードを提示してもいいのですけど
ほほさんのスキルが分かりませんし、Access 2003, 2010をお使いとのことなので
もしかすると、Recordsetを用いたデータ編集のご経験もおありなのではと推測します。
なお、レポート上で工夫するなら、並び替えの最初に
= DCount("*", "テーブル", "順番 <= " & [順番])
- DCount("*", "テーブル", "品 = '" & [品] & "' AND 順番 <= " & [順番])
という式を組み込んで
ご希望の形に近いレイアウトにすることは可能ですけど
2階層目を「品」でグループ化すると「順番」の昇順にはデータが並ばないでしょう。
以上のヒントをもとに、まずはご自身で試行錯誤してみることをお勧めします。
通報 ...