我在程序的第一部分使用
On Error GoTo start
假设在我的第二部分我再次使用
On Error Resume Next
第二个错误陷阱将不会被激活,因为第一个错误陷阱仍将处于活动状态。有什么方法可以在使用第一个错误处理程序后停用它?
Set objexcel = CreateObject("excel.Application")
objexcel.Visible = True
On Error GoTo Openwb
wbExists = False
Set wbexcel = objexcel.Workbooks.Open("C:\REPORT3.xls")
Set objSht = wbexcel.Worksheets("Sheet1")
objSht.Activate
wbExists = True
Openwb:
On Error GoTo 0
If Not wbExists Then
objexcel.Workbooks.Add
Set wbexcel = objexcel.ActiveWorkbook
Set objSht = wbexcel.Worksheets("Sheet1")
End If
On Error GoTo 0
Set db = DBEngine.opendatabase("C:\book.mdb")
Set rs = db.OpenRecordset("records")
Set rs2 = CreateObject("ADODB.Recordset")
rs2.ActiveConnection = CurrentProject.Connection
For Each tdf In CurrentDb.TableDefs
If Left(tdf.Name, 4) <> "MSys" Then
rs.MoveFirst
strsql = "SELECT * From [" & tdf.Name & "] WHERE s=15 "
Do While Not rs.EOF
On Error Resume Next
rs2.Open strsql
执行最后一条语句后,我想忽略错误并转到下一张表,但错误处理似乎不起作用。