我知道有类似的帖子,但是我没有设法通过阅读来解决我的错误,所以我发帖。
我试图在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
有没有办法提交更改或解决此问题?谢谢