在我的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:«您无法转到指定的记录。您可能在记录集的末尾» 。
如何解决问题,我需要有能力在点击特定按钮时添加新记录,无论我走过还是没有走过记录。
答案 0 :(得分:1)
我创建了一个带字段调用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
与您所包含的代码的不同之处在于删除了refresh和With语句,处理错误,在禁用按钮之前设置焦点并向用户显示错误说明。我不知道你的表格是否相似,但这应该对你有用,如果是,我正确理解你的问题。