| 
    
     |  | Yahoo知恵袋でも書いたのですが、Access2003で、フォームに入力中のデータを消去し、保存せずに終了するためのマクロを作成しました。 データは確かにクリアされ、レコードには何も入っていないのですが、オートナンバーのIDが飛んでしまいます。
 
 フォームに「登録ボタン」と「クリアボタン」を配置し、「登録ボタン」を押せば、データがレコードに登録されて次のフォームが開くようになっています。
 また、「クリアボタン」を押すと入力途中のすべてのデータが消え、そのままフォームを閉じることで、データが保存されないようにしました。
 
 
 しかし、クリアしたはずのレコードのオートナンバー(連番)のIDが残っているらしくその分が飛ばされて、次の番号がレコードに割り振られてしまいます。
 
 ID 121 データ入力済み
 ID 122 データ入力済み
 ID 124 データ入力済み
 
 123番の時にデータ入力途中でクリアし、閉じた場合です。
 
 この連番を飛び番なしの連番にすることはできますか?
 ただし、入力された連番のIDは他(別の書類)で使用するので、後から並びを変えるのではなく、上記の場合で124を入力するときに123になるようにしたいのですが可能でしょうか?
 よろしくお願いいたします。
 
 
 入力した時のマクロは以下の通りです。
 
 Private Sub 登録ボタン_Click()
 On Error GoTo Err_登録ボタン_Click
 DoCmd.GoToRecord , , acNext
 Exit_登録ボタン_Click:
 Exit Sub
 Err_登録ボタン_Click:
 MsgBox ("未入力のデータがあります")
 Resume Exit_登録ボタン_Click
 End Sub
 
 Private Sub クリアボタン_Click()
 On Error GoTo Err_クリアボタン_Click
 DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
 Exit_クリアボタン_Click:
 Exit Sub
 Err_クリアボタン_Click:
 MsgBox ("クリアは実行されています")
 Resume Exit_クリアボタン_Click
 End Sub
 
 
 |  |