在我的MS Access表单中,我想实现一个单独的按钮,它将新记录添加到表中。为了做到这一点,我添加了一个按钮,并在此按钮上附加了一个事件:
Private Sub btnAddRec_Click()
Refresh
With CodeContextObject
On Error Resume Next
DoCmd.GoToRecord , , acNewRec
If Err.Number <> 0 Then
btnAddRec.Enabled = False
End If
End With
End Sub
当你打开窗口并单击btnAddRec
按钮时,一切都很好,问题是当你首先通过现有记录进行导航并且只有在点击这个按钮之后。我收到了运行时错误:2105:«你不能去指定的记录。您可能在记录集的末尾»。
如何解决这个问题,我需要有能力在点击特定按钮时添加新记录,无论我走过还是没有走过之前的记录。
我创建了一个带有字段调用Description(和AutoNumber)的简单表单,并创建了一个按钮,其中的代码跟随click事件。我用一些记录填充它并浏览它们,然后单击addNewRec按钮。表单导航到新记录没有问题。成功打开表单后,我也可以直接单击addNewRec按钮。
Private Sub btnAddRec_Click()
On Error GoTo Err1
DoCmd.GoToRecord , , acNewRec
Exit Sub
Err1:
Description.SetFocus
btnAddRec.Enabled = False
MsgBox (Err.Description)
End Sub
与您包含的代码的不同之处在于删除了刷新和With语句,处理错误,在禁用按钮之前设置焦点并向用户显示错误说明。我不知道你的表格是否相似,但这应该对你有用,如果是,我正确理解你的问题。