質問: レコードを集計させたときに空白レコードが固まって集計されてしまうので連番をつけて分けたいと考えてます。 また空白のほかにも横線で入力されているのもあるのでそれも連番をつけたいです。 テーブル | 名前 | 金額 | コード | | --- | --- | --- | | a | 200 | g-20 | | b | 100 | a-30 | | c | 150 | | | a | 200 | | | c | 150 | ----- | | c | 150 | ----- | | b | 200 | a-30 | | c | 300 | b-40 | 抽出しているクエリ 集計クエリで 名前を先頭 金額を合計 コードをグループにしています。 こちらのクエリは使用上変更できないので 更新クエリで連番をつけて対策をしようと考えています。 Is Nullを使用して空白のみに作用させるのはできましたが 「コード」フィールドが短いテキストのためなかなか連番を使う方法が思いつきませんでした。 よろしくお願いします。 追記 実現したい結果 テーブル | 名前 | 金額 | コード | | --- | --- | --- | | a | 200 | g-20 | | b | 100 | a-30 | | c | 150 | 1 | | a | 200 | 2 | | c | 150 | 3 | | c | 150 | 4 | | b | 200 | a-30 | | c | 300 | b-40 |
回答: > > レコードを集計させたときに空白レコードが固まって集計されてしまうので連番をつけて分けたい > > > 空白レコードを別のグループとして集計したい、ということがご希望なら、連番である必要はないですね。ユニークな値であればいい。 提示のフィールドだけではユニーク性は保証されないので、オートナンバー型のフィールドを追加します。 オートナンバー型のフィールド名を「ID」として、 下記の式をフィールドに設定して、そのフィールドでグループ化すればいいでしょう。 ``` コードID: IIf([コード] Is Null OR [コード] = "----",Format([ID],"0000"),[コード]) ``` 追記 連番であることは、データベース的にはまったく意味がなく、人間が見たときに連番だとなんとなく安心する程度の意味しかありません。 紙に印刷するときに連番を表示したいのなら、レポートの機能が簡単に連番を出力することができます。 連番に拘ると、kobacさんを言及されてますが、連番を入力してから、新規に空白のレコードを追加すると面倒なことになります。途中のレコードを削除すると連番が崩れます。それぞれに対応できるようにするとどんどん複雑になります。 もし、どうしても連番が必要なら「コード」フィールドに書き込むのでなく別に連番用フィールドを追加したほうかいいでしょう。