首页 > 解决方案 > 为什么我会收到 3022 的运行时错误?

问题描述

我收到 3022 的运行时错误(索引中的重复值等),但数据被添加到表中没有任何问题。

详细地说,我点击了我的保存按钮。数据已添加到表中,但我仍然在 rst.update 上收到运行时错误。

Private Sub cmdSave_Click()
Dim db As DAO.Database
Dim rst As DAO.Recordset

Set db = CurrentDb
Set rst = db.OpenRecordset("tblReload", dbOpenDynaset)

If IsNull(Me!txtReloadOrderNumber) Then
    MsgBox ("Please enter the PO Number.")
    Exit Sub
End If

If varFormNewEdit = False Then
    With rst
        .AddNew
        !ReloadDate = Me!txtReloadDate
        !ReloadRailroad = Me!txtReloadRailroad
        !ReloadOrderNumber = Me!txtReloadOrderNumber
        !ReloadOrderWeight = Me!txtReloadOrderWeight
        !ReloadDestination = Me!txtReloadDestination
        !ReloadCityState = Me!txtReloadCityState
    End With
Else
    With rst
        .FindFirst "[ReloadOrderNumber]=" & varReload
        .Edit
        !ReloadDate = Me!txtReloadDate
        !ReloadRailroad = Me!txtReloadRailroad
        !ReloadOrderNumber = Me!txtReloadOrderNumber
        !ReloadOrderWeight = Me!txtReloadOrderWeight
        !ReloadDestination = Me!txtReloadDestination
        !ReloadCityState = Me!txtReloadCityState
    End With
End If

rst.Update

标签: ms-access

解决方案


我在这上面花了太多时间。我一发布问题,一个灯泡就熄灭了。我在两个事件过程中编写了代码,点击和输入。

在我关闭 Save 按钮上的默认属性之前,这一直很好。因此,当我按下 Save 按钮上的 enter 时,我触发了这两个事件,这就是我会收到运行时错误的原因。

谢谢!


推荐阅读