【发布时间】:2013-10-02 16:23:19
【问题描述】:
我正在开发一个访问数据库,其中包含一些仅用于数据输入的表单。问题是,当我打开这些表单中的任何一个时,访问会在基础表中创建一个新条目,包括增加基础表的自动编号主键,并且即使用户选择不创建记录,自动编号也会保持递增数据库。这意味着由于用户在不提交更改的情况下打开和关闭表单的所有时间,实际表中的自动编号序列中存在间隙。
我在 beforeupdate 方法中使用了如下代码让用户丢弃坏数据:
Private Sub Form_BeforeUpdate(Cancel As Integer)
'Provide the user with the option to save/undo
'changes made to the record in the form
If MsgBox("Data has been entered into this form." _
& vbCrLf & vbCrLf & "Do you want to save this data?" _
, vbYesNo, "Changes Made...") = vbYes Then
DoCmd.Save
Else
DoCmd.RunCommand acCmdUndo
End If
End Sub
我曾想过使用 beforeinsert 事件,但在使用 beforeinsert 时打开表单时遇到问题。
有人可以告诉我如何设置,以便这些间隙不会在自动编号值的序列中产生吗?该数据库可能会被 10 个并发用户使用。
【问题讨论】:
标签: ms-access vba ms-access-2010