我只是想創建備份訪問文件,因此來自前端的用戶可以按按鈕並創建備份。用於創建訪問備份的VBA代碼
我試着這個代碼,這使得數據庫的副本,但也複製我的VBA代碼。我只想複製表格。沒有形式,沒有報道。
是否可以從VBA壓縮它?
Function fMakeBackup()
Dim Source As String
Dim Target As String
Dim retval As Integer
Source = CurrentDb.Name
Target = "C:\Users\Documents\FileName"
Target = Target & Format(Date, "dd-mm") & " "
Target = Target & Format(Time, "hh-mm") & ".accdb"
' create the backup
retval = 0
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
retval = objFSO.CopyFile(Source, Target, True)
Set objFSO = Nothing
End Function
更新1 使用由@Sergey
給定溶液I修改後的代碼如下
功能fMakeBackup()
Dim Target As String
Target = "C:\Users\adarsh.madrecha\Downloads\Delete "
Target = Target & Format(Date, "dd-mm") & " "
Target = Target & Format(Time, "hh-mm") & ".accdb"
' create the Blank file for copying
Access.DBEngine.CreateDatabase Target, DB_LANG_GENERAL
Dim tdf As TableDef
For Each tdf In CurrentDb.TableDefs
DoCmd.CopyObject Target, , acTable, tdf.Name
Next
End Function
當我執行此,彈出是如圖所示
如果我點擊任一選項,代碼會給出錯誤。
Runtime error 3024
Copy object action was canceled
謝謝,但是當我運行你的代碼,得到'運行時錯誤3024''無法找到文件。我的代碼還需要另外一行代碼嗎?我是VBA編程新手。 –
正如我所說的「目標文件應該已經創建」,所以你需要先手動創建它,或者使用已經使用的過程從空模板複製 –
我使用'Access.DBEngine.CreateDatabase Target,DB_LANG_GENERAL'創建了一個空白訪問數據庫文件但是仍然出現'運行時錯誤3024''複製對象操作被取消' –