单击Microsoft Access中的按钮将新记录添加到表中

时间:2013-05-18 21:08:04

标签: ms-access access-vba recordset

在我的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:«您无法转到指定的记录。您可能在记录集的末尾»

如何解决问题,我需要有能力在点击特定按钮时添加新记录,无论我走过还是没有走过记录。

1 个答案:

答案 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语句,处理错误,在禁用按钮之前设置焦点并向用户显示错误说明。我不知道你的表格是否相似,但这应该对你有用,如果是,我正确理解你的问题。