オートナンバー型のフィールドを用意しておくことで、連続番号は
自動的に振られますが、Access独特のデータ(フィールド)であるため、
不都合が発生することがあります。
単純に連続番号を振りたい場合は、次のような方法があります。
サンプルプロシージャでは、「動物テーブル」に「連続番号」フィールドを
追加して、先頭データから連続番号を振っていきます。
● 準備 ●
テキスト型の「動物名」フィールドをもつ「動物テーブル」を用意して、
次のデータを入力します。
動物名
チンパンジー
きりん
ぞう
ライオン
ペンギン
サンプルプロシージャを標準モジュールに作成して実行すると、
次のように連続番号が振られます。
動物名 連続番号
チンパンジー 1
きりん 2
ぞう 3
ライオン 4
ペンギン 5
● サンプル ●
Sub Sample()
Dim db As Database
Dim rs As Recordset
Dim tdf As TableDef
Dim fld As Field
Dim myNo As Long
Dim fldName As String
Set db = CurrentDb
Set tdf = db.TableDefs!動物テーブル
fldName = "連続番号"
Set fld = tdf.CreateField(fldName, dbLong, 10)
tdf.Fields.Append fld
Set rs = db.OpenRecordset("動物テーブル")
myNo = 1
rs.MoveFirst
Do Until rs.EOF
rs.Edit
rs(fldName) = myNo
rs.Update
rs.MoveNext
myNo = myNo + 1
Loop
DoCmd.OpenTable "動物テーブル"
MsgBox "連続番号を振りました"
End Sub
● 補足説明 ●
DAOを使用していますので、[ツール(T)]メニューの[参照設定(R)]をクリック
すると表示される[参照設定]ダイアログボックスで、「Microsoft DAO 3.6
Object Library」をチェックしてください。
|