我有这个代码设置,它将数据从另一个表中插入表中,并在循环中设置。我想检查它是否应该上传的记录实际上传,如果它不是我想再试一次,然后在第二次尝试后如果它仍然不能我想它终止代码。基本上是:
在此代码运行之前,先运行连接检查,如果有记录上传的连接,则在循环过程中我希望它运行一个select语句来查找刚刚上传到新表上的记录。如果找到它,那么它会继续到下一条记录,如果它没有再次尝试,则在它仍然不能时停止。这是我验证连接的一种方法。
这是一种在实际上传过程中测试连接的方法,因此我不必在每条记录之后建立连接检查,从而节省时间。我只是不确定如何在循环中构建On Error,有什么想法吗?代码的底部看起来像:
qdf.ReturnsRecords = False
On Error GoTo Update_qdfError
qdf.Execute dbFailOnError
On Error GoTo 0
rs.MoveNext
Loop
rs.Close
Set qdf = Nothing
Set cdb = Nothing
Set rs = Nothing
Exit Function
Update_qdfError:
For Each err In DAO.Errors
MsgBox err.Description, vbCritical, "Error " & err.Number
Next
End Function
答案 0 :(得分:0)
由于VBA没有结构化错误处理,您可以通过设置On Error propert y然后检查ERR object来在循环中一次执行一行错误测试。首先,进行设置,使其落到下一行代码中。
On Error Resume Next
然后,测试。
Do While rs.EOF
rs.Fields("fieldName").value =value
if Err.Number >0 then
'you had an error
end if
Loop