アクセス担当のまみです。
オートナンバーって勝手に番号振ってくれて便利ですね。
便利なんだけど、データの削除した時には欠番になったりして番号を振りなおしてはくれないんです。
そんな時にはクエリで番号が振られるようにしてみましょう。
Contents
Dcount関数
クエリで連番を振るにはDcount関数を使用します。
Dcount関数って条件に合うレコードの数を数えてくれます。
Dcount関数についての詳しい説明は下記の記事にゆずりますのでぜひ見てみてください!
使用するテーブル
「T_納品管理表」
1から連番を振る
Dcount関数で1から連番を振るには、同じデータが複数あるフィールドは使えません。
では、リボンのデザインタブからクエリデザインを選択し、「T_納品管理表」テーブルを追加しましょう。
「フィールド」を右クリックして「ズーム」を選択すると大きな画面で編集できます。
表示された画面に「連番: DCount(“*”,”T_納品管理表”,”[ID]<=” & [T_納品管理表]![ID])」と入力し「OK」を左クリックしましょう。
[quads id=2]
グループごとに連番を振る
先ほどとは別のクエリで今度はわかりやすいように「所属コード」「所属」を表示させるようにしました。
フィールドを右クリックしてズームを選択したら、「連番: DCount(“*”,”T_納品管理表”,”ID <=” & [ID] & “and 所属='” & [所属] & “‘”)」と入力して「OK」を左クリックします。
文字列型なので「‘” & [所属] & “‘”」になります。
グループごとに同じ番号の連番を振る
先ほどのクエリを上書きするか、コピーするかして連番の式を下記のように書き換えましょう。
「連番: DCount(“*”,”T_納品管理表”,”[所属] >='” & [T_納品管理表]![所属] & “‘”)」
VBAを使った連番の振り方は下記の記事をどうぞ!
まとめ
色々なデータを扱っていると、データを数えるときにも必要だったりと、番号って意外と重要だったりします。
欠番にさせたくなかったり色々な番号の使い方があるので、知っておくと便利ですよ!