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

问题描述 投票:0回答:1

在我的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:«你不能去指定的记录。您可能在记录集的末尾»。

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

ms-access access-vba recordset
1个回答
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

与您包含的代码的不同之处在于删除了刷新和With语句,处理错误,在禁用按钮之前设置焦点并向用户显示错误说明。我不知道你的表格是否相似,但这应该对你有用,如果是,我正确理解你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.