如何解决尝试备份数据库后端时出现错误70权限被拒绝
我正在尝试自动备份位于网络驱动器上的拆分数据库的后端。不幸的是,我一直收到标题中显示的错误。
代码:
Function BackUpBE()
On Error GoTo Err_backup
Dim strNewBEname As String
Dim strOldBEname As String
Dim strDateStamp As String
strOldBEname = "P:\Access Datenbank\Durament_db_be\Durament_db_be.accdb"
'strOldBEname = "\\192.XXX.XX.XXX\Daten\Access Datenbank\Durament_db_be\Durament_db_be.accdb"
strDateStamp = Format(Date,"d.m.yy")
strNewBEname = "P:\Access Datenbank\Durament_db_be\BackUp\" & "Backup_vom_" & strDateStamp & ".accdb"
'strNewBEname = "\\192.XXX.XX.XXX\Daten\Access Datenbank\Durament_db_be\BackUp\" & "Backup_vom_" & strDateStamp & ".accdb"
'copy database
FileCopy strOldBEname,strNewBEname
MsgBox "The back-end database has been backed up!"
Exit_Backup:
Exit Function
Err_backup:
MsgBox Err.Number & Err.Description
Resume Exit_Backup
End Function
该代码仅将当前后端复制到另一个文件夹中。起初,我认为这是与服务器有关的问题,涉及所需的密码。因此,我映射了驱动器并使用了本地路径,但是它仍然无法正常工作。我已经使用f8逐步执行了代码,并且退出该函数后出现错误,这对我来说意义不大。非常感谢任何提示,这些提示可以让我在代码中找到有问题的部分,谢谢。
解决方法
按照@Andre的建议,在使用前端时,我设法使用FileSystemObject复制后端。
Function BackUpBE()
On Error GoTo Err_backup
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
Dim strNewBEname As String
Dim strOldBEname As String
Dim strDateStamp As String
strOldBEname = "P:\Access Datenbank\Durament_db_be\Durament_db_be.accdb"
'strOldBEname = "\\192.XXX.XX.XXX\Daten\Access Datenbank\Durament_db_be\Durament_db_be.accdb"
strDateStamp = Format(Date,"d.m.yy")
strNewBEname = "P:\Access Datenbank\Durament_db_be\BackUp\" & "Backup_vom_" & strDateStamp & ".accdb"
'strNewBEname = "\\192.XXX.XX.XXX\Daten\Access Datenbank\Durament_db_be\BackUp\" & "Backup_vom_" & strDateStamp & ".accdb"
'copy current BE to Folder
Call fso.CopyFile(strOldBEname,strNewBEname)
MsgBox "The back-end database has been backed up!"
Exit_Backup:
Exit Function
Err_backup:
MsgBox Err.Number & Err.Description
Resume Exit_Backup
End Function
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。