把代码改成这样:
public sub main()
dim j
On Error goto ErrCode
ErrNext:
for ii=j to 100
'''''''
'''''''其他数据库操作
aa=(一个错误)'如果有第二次错,就会在这里报VB系统错误提示,陷阱失效
'''''''
Update
next iiexit sub
'''''''''''''''''
ErrCode:
'Err.Clear这句没用
CancelUpdate
j=ii
goto ErrNext
end sub
如果能行的话就给分吧:)
public sub main()
dim j
On Error goto ErrCode
ErrNext:
for ii=j to 100
'''''''
'''''''其他数据库操作
aa=(一个错误)'如果有第二次错,就会在这里报VB系统错误提示,陷阱失效
'''''''
Update
next iiexit sub
'''''''''''''''''
ErrCode:
'Err.Clear这句没用
CancelUpdate
j=ii
goto ErrNext
end sub
如果能行的话就给分吧:)
Sub main()
On Error GoTo ErrorCode
for ii=1 to 100
'''''''
'''''''其他数据库操作
aa=(一个错误)'如果有第二次错,就会在这里报VB系统错误提示,陷阱失效
'''''''
Update
ErrNext:
next iiExit Sub
ErrCode:
CancelUpdate
Resume ErrNext
end sub
你可以试着设置一个变量,用以判断是否运行过错误处理,以跳过下面的代码的执行.
public sub main()
for ii=1 to 100
On Error goto ErrCode
'''''''
'''''''其他数据库操作
aa=(一个错误)'如果有第二次错,就会在这里报VB系统错误提示,陷阱失效
'''''''
Update
ErrNext:
next ii
exit sub
'''''''''''''''''
ErrCode:
'Err.Clear这句没用
CancelUpdate
on error goto 0
goto ErrNext
end sub还有了,楼上的说的是让你 Resume ErrNext,又不是 Resume Next
也可以试试!////////////////////////////////////////////////////////////////
不过在这里想说一下,解决问题不一定是这样的!
想想最终的问题是:
>>我是为了有错误数据时,自动CancelUpdate,并忽略当前数据(不插入数据库),并且还要继续>>For里的循环,如果使用resume的话,他还会自动执行出错时的下一句代码。
换一种实现方法!少用goto
On Error Resume Next
For ii = 1 To 100
'''''''
'''''''其他数据库操作
aa = (一个错误) '如果有第二次错,就会在这里报VB系统错误提示,陷阱失效
If Err.Number = 999 Then Exit Sub '999填写对应的错误号
'''''''
Update
Next ii
Exit Sub
hydnoahark(诺亚方舟)是对的,我看花眼了。
昨天问了个朋友,他讲的就是hydnoahark(诺亚方舟)的方法。
现在仔细一看,原来hydnoahark(诺亚方舟)就是这样说的。sandder(包含中)提醒的也很对。
都会加分的。
这个问题我问了几次,还想加分的就查一下我发的所有问题,hydnoahark,sandder
谢谢!