オートナンバーを初期化


Accessのオートナンバーの列の値を初期化したい場合は
テーブルの中身をすべてDeleteしたのち、
以下の3つのいずれかの方法で初期化することができる。


1.最適化を行う


2.Alter Tableで初期化する

ALTER TABLE [tbl_hoge] ALTER COLUMN [clm_hoge] COUNTER (1,1);


3.レコードセットで初期化する


以下のようにAddNewでオートナンバーの項目に0をセットすることで初期化できる

    'レコードセットで開く
    strSql = "SELECT * FROM Wtbl_hoge 
    With adoCmd
        .ActiveConnection = adoCn
        .CommandText = strSql
        .CommandType = adCmdText
    End With

    Set adoRS = New ADODB.Recordset
    adoRS.Open adoCmd, , , adOpenDynamic
    
    'AddNewでオートナンバー項目に0を編集
    adoRS.AddNew
    adoRS("clm_hoge").Value = 0
    
    'その他の項目には0を編集(Not Null制約のため)
    For lngRow = 0 To adoRS.Fields.Count - 1
        adoRS(lngRow).Value = 0
    Next

    'Updateしたのちすぐに削除   
    adoRS.Update
    adoRS.Delete


動作確認環境:Access2003