VBA - 错误3167记录已删除

时间:2017-07-24 07:53:30

标签: vba ms-access access-vba

我知道有类似的帖子,但是我没有设法通过阅读来解决我的错误,所以我发帖。

我试图在Ms Access中创建一个输入表单,用户将输入两个条形码,然后按下按钮将这些值提交到表中,该过程将重复进行,直到他需要存储所述表,在这种情况下,还有另一个按钮事件。当他们将每组记录输入到输入框并点击提交时,保存记录,并清除所有字段,光标将转到barcode1字段以等待新条目。

问题开始时,在成功执行一切之后,如果我重新运行数据库,并重新启动所有内容,当我尝试按下按钮将新条目提交到表中时,我收到以下错误:

  

错误3167:记录被删除

如果我关闭(x)应用程序并重新启动它,一切正常。

以下是相关代码,调试器给出了错误:

Private Sub CommitButton_Click()

    'If (Me!Barcode1 = "**************************") Or IsNull(Me!Barcode1) Or IsNull(Me!Barcode2) Then
    'If (Len(Me!Barcode1) < 2) Or (Len(Me!Barcode2) < 2) Then
    len_barcode1 = Len(Me!Barcode1)
    len_barcode2 = Len(Me!Barcode2)

    If (len_barcode1 < 1 Or IsNull(len_barcode1)) Or (len_barcode2 < 1 Or IsNull(len_barcode2)) Then
        MsgBox ("IS NULL - NOT SAVING")
    Else
       MsgBox ("IS NOT NULL - SAVING")

       fld2 = Barcode2.Value
       fixed = Mid(fld2, 6, 14)
       Barcode2.Value = fixed

       'DoCmd.SetWarnings (WarningsOff)
       DoCmd.RunCommand acCmdSaveRecord
       DoCmd.GoToRecord acDataForm, "BarCodeDataForm", acNext, 1
       Me.Barcode1.SetFocus
       'DoCmd.SetWarnings (WarningsOn)
       Me.Barcode1.Value = Null
       Me.Barcode2.Value = Null
       Me.ValuePrice.Value = Null
       Me.Barcode1.SetFocus    

    End If
End Sub

如您所见,手动更改值(条形码2),错误出现在下一行:

DoCmd.RunCommand acCmdSaveRecord

有没有办法提交更改或解决此问题?谢谢

0 个答案:

没有答案