Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

处理错误处理过程中的错误

时 间:2009-11-10 10:49:12
作 者:t小雨   ID:4598  城市:柳州
摘 要:用On Error Resume Next处理错误处理过程中的错误
正 文:

该过程导出表,如果目标文件已存在,则发生编号3010错误,在程序中捕捉,然后用Kill删除同名文件,但若该文件打开导致不能删除,则Kill语句又发生错误(号70),那么这个错误如何捕捉?

Public Sub SOutput()
On Error GoTo Err1
    CurrentDb.Execute "SELECT * INTO [Excel 8.0;DATABASE=C:\临时导出.Xls].Sheet1 FROM 表1"
Exit1:
    Exit Sub
Err1:
    If Err.Number = 3010 Then
        If MsgBox("存在同名文件,是否覆盖?", vbYesNo, "提示") = vbYes Then
            Kill "C:\临时导出.Xls"   ''<-------- 如果这里出错,如何捕捉
            Resume
        End If
    Else
        MsgBox Err.Description & Err.Number
    End If
    Resume Exit1
End Sub

解决方案:

Public Sub SOutput()
On Error Resume Next
   CurrentDb.Execute "SELECT * INTO [Excel 8.0;DATABASE=C:\临时导出.Xls].Sheet1 FROM 表1"
   If Err.Number = 3010 Then
        If MsgBox("存在同名文件,是否覆盖?", vbYesNo, "提示") = vbYes Then

            Kill "C:\临时导出.Xls"   
          If Err.Number = 70 Then
            MsgBox "请关闭对象再进行操作", vbInformation, "提示"
            Exit Sub
          End If
        End If
    Else
        MsgBox Err.Description & Err.Number
    End If
End Sub



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助