Vba 自动备份access数据库

Vba 自动备份access数据库,vba,ms-access,Vba,Ms Access,我有这段代码,我在某处找到了它(归功于作者),并对其进行了一些修改,以便每7天对我的数据库进行一次自动备份 Function fMakeBackup() As Boolean Dim Source As String Dim Target As String Dim retval As Integer On Error GoTo sysBackup_Err Source = CurrentDb.name Target = "d:\

我有这段代码,我在某处找到了它(归功于作者),并对其进行了一些修改,以便每7天对我的数据库进行一次自动备份

Function fMakeBackup() As Boolean

    Dim Source As String
    Dim Target As String
    Dim retval As Integer
    
On Error GoTo sysBackup_Err

    Source = CurrentDb.name

    Target = "d:\" 
    Target = Target & Format(Date, "mm-dd-yyyy") & "  " 
    Target = Target & Format(Time, "hh-mm") & ".accdb" 

  If DateDiff("d", DLookup("[BackupDate]", "WinAutoBackup", "[BckID] =1"), Date) = 7 Then

    retval = 0
    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    retval = objFSO.CopyFile(Source, Target, True)
    Set objFSO = Nothing
    
    DoCmd.SetWarnings False
       DoCmd.RunSQL "UPDATE WinAutoBackup SET WinAutoBackup.BackupDate = Date();"
    DoCmd.SetWarnings True
    
    MsgBox "Backup successfull. Next auto backup in 7 days"

  Else
    Exit Function
  End If
  
sysBackup_Exit:
Exit Function

sysBackup_Err:
MsgBox Err.Description, , "sysBackup()"
Resume sysBackup_Exit
End Function
如何修改路径,使所有备份文件都进入名为backups的文件夹中 与主后端数据库文件相同的目录?

替换

Target = "d:\"
Target = Target & Format(Date, "mm-dd-yyyy") & "  " 
Target = Target & Format(Time, "hh-mm") & ".accdb" 
其中
f:\databasefolder
是保存后端数据库文件的驱动器/文件夹:

Target = "f:\databasefolder\backups\" 
Target = Target & Format(Now, "yyyymmdd-hhnn") & ".accdb"

使用CurrentProject.path返回使用数据库的位置

Thx古斯塔夫。但我可能需要随时修改此路径,以便在另一台计算机上使用db。尤其是如果没有驱动器f:\。有没有办法让系统自己识别路径,这样就不必总是修改vba代码?