|
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
|
|