会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 编程心得绝招 > 实际编程 > 正文

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

时间:2009-11-11 08:30 来源:网络 作者:t小雨 阅读:
正 文:

该过程导出表,如果目标文件已存在,则发生编号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

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: