Microsoft Accessデータベースがバックエンド/フロントエンドに分割されています。私が探しているのは、これらのファイルを毎日または毎週自動的にバックアップできることです。これを行うための最良の方法は何ですか?データベースのバックアップについて心配する必要はありません。スケジュールに従って自動的に実行されることを知っているだけです。
ありがとう。
(私の以前の答えから借りる ここ ...)
re:実際にバックアップを実行しています
ネイティブAccessデータベースのバックアップは、データベースファイル全体(Access_2003以前の場合は.mdb、Access_2007以降の場合は.accdb)をコピーするだけです。どのようなスクリプト言語でも機能します。たとえば、次のような単純なWindowsバッチファイルでも機能します。
copy /Y d:\apps\databases\mydatabase.accdb z:\backups\databases\*.*
re:バックアップの自動スケジュール
Windowsのタスクスケジューラがそれを処理します。データベースファイルをコピーするスクリプトを作成したら、定期的に実行するスケジュールタスクを作成できます。詳細については、MSDNの記事 タスクスケジューラの使用(Windows) を参照してください。
指定したフォルダーにデータベースをバックアップするサブを作成し、データベースの起動時にこのサブを実行できます。これを行う方法はたくさんありますが、私は個人的に以下を使用しています。
Function fMakeBackup() As Boolean
Dim Source As String
Dim Target As String
Dim retval As Integer
Source = CurrentDb.Name
Target = "Z:\My Apps\Backups\YourFielName"
Target = Target & Format(Date, "mm-dd") & " "
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