スポンサーリンク

Accessでバックアップを自動化!初心者でもできるVBA活用術

スポンサーリンク
Access
スポンサーリンク

こんにちは、なかぜんです!

Accessを使って日々の業務をこなしていると、つい忘れがちなのが「バックアップ」。
「うっかり保存せずに閉じちゃった…」「気づいたらデータが消えてた…」なんて経験、ありませんか?
今回はそんな悩みを解決するために、「バックアップの自動化方法」をご紹介します。
VBAを使えば、初心者の方でも簡単に自動バックアップが実現できますよ。

スポンサーリンク

1. バックアップを自動化するメリットとは?

  • データ損失のリスクを大幅に軽減
  • 手作業が不要になるので、ミス防止&時短に
  • 定期バックアップで安心して業務に集中できる

Accessは便利ですが、万が一の障害に備えて、こまめなバックアップがとても大事。
それを「自動」でやってくれるなら、心強いですよね。

2. VBAを使って自動バックアップを実装しよう

基本のバックアップコード


Sub 自動バックアップ()
    Dim fso As Object
    Dim sourcePath As String
    Dim backupPath As String
    Dim fileName As String

    ' 現在のファイルパスを取得
    sourcePath = CurrentDb.Name
    fileName = "Backup_" & Format(Now, "yyyymmdd_hhnnss") & ".accdb"

    ' バックアップ先フォルダを指定(例:C:\DB_Backup)
    backupPath = "C:\DB_Backup\"

    ' バックアップ先フォルダが存在しない場合は作成
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists(backupPath) Then
        fso.CreateFolder backupPath
    End If

    ' ファイルをコピー
    fso.CopyFile sourcePath, backupPath & fileName

    MsgBox "バックアップ完了:" & backupPath & fileName, vbInformation
End Sub

このコードの解説

  • CurrentDb.Nameで現在のデータベースのファイルパスを取得
  • Format(Now, "yyyymmdd_hhnnss")で日付付きのファイル名に
  • FileSystemObjectを使ってフォルダの存在確認&作成
  • 同名ファイルが作られないよう、日時付きでユニークに保存

3. フォームを開いた時に自動でバックアップする

上のコードを、「起動時に自動実行」させるには、メインフォームのForm_Loadイベントに次のように記述します。


Private Sub Form_Load()
    Call 自動バックアップ
End Sub

こうすることで、フォームが開かれたタイミングで自動的にバックアップが取られるようになります。

4. 注意点とよくあるミス

  • 保存先フォルダのパスが正しいか確認しましょう。
  • 別のユーザーが開いている状態ではバックアップが失敗することがあります。
  • ファイルが大きすぎる場合はコピーに時間がかかるため、タイミングに注意。

5. 応用:一定時間ごとにバックアップする

タイマーを使えば、例えば30分ごとにバックアップを取ることも可能です。
以下はフォームのTimerイベントを利用する例です。

フォームの設定


Private Sub Form_Open(Cancel As Integer)
    Me.TimerInterval = 1800000 ' 30分 = 1800000ミリ秒
End Sub

Private Sub Form_Timer()
    Call 自動バックアップ
End Sub

これにより、フォームを開いている間は30分ごとにバックアップが実行されます。

6. まとめ:自動バックアップで安心&時短を実現!

Accessのバックアップは、意識していないとつい後回しになりがち。
でも今回ご紹介したVBAコードを使えば、自動化によって確実&安全にデータを守れます。

「VBAなんて難しそう…」と思っていた方も、これを機にぜひチャレンジしてみてくださいね!
慣れてきたら、ネットワーク共有フォルダに保存したり、エラー処理を追加するなど、より実践的な活用も目指せます。

それでは、なかぜんでした!

楽天ブックス
¥2,838 (2025/07/03 09:13時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場
\商品券4%還元!/
Yahooショッピング