【问题标题】:MS Access 2007 VBA FSO.DeleteFile Error 70 Permission DenyedMS Access 2007 VBA FSO.Delete 文件错误 70 权限被拒绝
【发布时间】:2012-11-19 03:59:54
【问题描述】:

当我尝试使用 FSO.DeleteFile 删除文件时,我收到“错误 70 权限被拒绝”。当我尝试使用 Kill 命令时,我收到“错误 75 路径/文件访问错误”。我对该文件夹具有读/写权限,尽管它位于网络驱动器而非本地驱动器上。

这是我的代码:

Private Sub DeleteFileButton_Click()
On Error GoTo Err_DeleteFileButton_Click

    Dim FileLocation As String
    Dim strSQL As String
    FileLocation = DLookup("AttachmentLink", "dbo_tbl208Attachments", "ATID = " & Me.lstFiles.Column(1))
    strSQL = "DELETE FROM dbo_tbl208Attachments WHERE ATID = " & Me.lstFiles.Column(1)
    With New Scripting.FileSystemObject
        .DeleteFile FileLocation
End With
    'Kill FileLocation
    CurrentDb.Execute strSQL, dbFailOnError
    MsgBox "File has been deleted"

Exit_DeleteFileButton_Click:
    Exit Sub

Err_DeleteFileButton_Click:
        MsgBox Err.Number & " - " & Err.Description
        Resume Exit_DeleteFileButton_Click
End Sub

【问题讨论】:

  • FileLocation 拥有正确的文件路径(我将其复制并粘贴到 Windows 资源管理器中,文件出现了)。但是 Dir(FileLocation) 只显示文件名,没有别的。
  • 我可以在弹出错误后立即从 Windows 资源管理器中删除文件。

标签: ms-access vba ms-access-2007


【解决方案1】:

我以前遇到过这种情况。我试图删除的文件被隐藏了。如果不先取消隐藏,您无法以编程方式删除隐藏文件。在终止文件之前尝试将此子添加到您的代码中。

Sub unhideFile(filename as string)
    If Len(Dir$(filename, vbHidden))>0 then
        SetAttr filename, vbNormal
    End If
End Sub

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多