Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Access 2013)
連番の付け方
投稿日時: 22/06/03 19:44:03
投稿者: TOM57

グループBのように2回以上発生する場合、別にして連番2を
作成したいのですが、どのようにしたらいいでしょうか
クエリでは無理なのでしょうか
よろしくお願い致します
 
連番    グループ
1    A
2    A
3    B
4    B
5    C
6    C
7    D
8    B
9    B
10    B
 
↓↓↓↓↓
 
グループ 連番2
A       1
B       1
C       1
D       1
B       2
 
    

回答
投稿日時: 22/06/04 00:57:43
投稿者: hatena
投稿者のウェブサイトに移動

テーブル名を Tbl1 として、
SQLビューに下記のコードを入力して、Q1 という名前で保存します。
 

SELECT
 a.連番, a.グループ
FROM
 Tbl1 AS a LEFT JOIN Tbl1 AS b ON a.連番+1=b.連番
WHERE
 a.グループ<>b.グループ OR b.グループ Is Null;

 
次に、SQLビューに下記のコードを入力して保存します。
 
SELECT
 [グループ],
 DCount("1","Q1","グループ='" & [グループ] & "' AND 連番<=" & [連番]) AS 式1
FROM Q1;

 
これでご希望の結果になると思います。
 
重い処理になりますので、レコード件数が多いときは、VBAで実装することも検討ください。

投稿日時: 22/06/04 19:38:44
投稿者: TOM57

hatenaさん
 
できました。
なかなか思いつかず、煮詰まってました。
 
ありがとうございました!