最近有两次,代码与下面的代码基本相同,无法正常执行。
在同一时间段内,它也会正常执行数百次。
在2次打印时,已打印出滑动但没有记录添加到数据库中,并且没有向用户报告错误。
我无法理解这是怎么回事。
发生错误的计算机通过有线网络连接到共享的Jet数据库,其上有大约8台计算机。
On Error GoTo ErrorHandler1
BeginTrans
Dim RS as RecordSet
Dim strRS as string
strRS = "Select * from Blah"
Set RS = DB.OpenRecordset(strRS)
RS.AddNew
RS.Fields("Date1").value = Now
RS.Fields("OpID").value = intOpId
RS.Update
PrintSlip Now, intOpId
CommitTrans
Exit Sub
ErrorHandler1:
Rollback
MsgBox "There has been an error"
他们最近使用新的布线和机器升级了他们的网络,但我看不出任何理由,特别是为什么这可能是问题。
答案 0 :(得分:0)
您可以使用QueryDef
对象添加记录,然后测试.RecordsAffected
属性以查看实际添加的记录数,而不是依赖于引发的错误。
这里的一些细节: How can I get a value from the update query prompt in Access VBA?
总结:
[TheDate]
和[TheOpID]
Dim qdf As New QueryDef
Set qdf = DB.QueryDefs("qappMyCoolParameterQuery")
With qdf
!TheDate = Now
!TheOpID = intOpId
.Execute
If .RecordsAffected = 0 Then
'Freak Out, alert user, etc
End If
End With