【VBA】Accessデータベースを自動的にファイル圧縮(最適化/修復)する方法(マクロ)

12月 1, 2024

※当ブログではリンク先にプロモーションを含みます。

VBAでAccessデータベースを自動的にファイル圧縮(最適化/修復)したい人向けに書いています。

本記事の内容

・VBAでAccessデータベースを自動的にファイル圧縮(最適化/修復)する方法

VBA(マクロ)でAccessデータベースを自動的にファイル圧縮(最適化/修復)したいと思ったことはありませんか?
バックアップ等で管理しているAccessデータベースが肥大化したことはありませんか?
定期的にAccessデータベースを手動で最適化/修復していませんか?
VBAでAccessデータベースを自動的にファイル圧縮(最適化/修復)する方法を紹介します。

VBA(マクロ)でAccess(アクセス)データベースを自動的にファイル圧縮(最適化/修復)する方法

以下がVBA(マクロ)でAccessデータベースを自動的にファイル圧縮(最適化/修復)するプログラムです。

  1. '*****************************************
  2. '* Accessデータベースの最適化
  3. '*****************************************
  4. Sub ACCESS_DB_OPTIMIZE()
  5.     Dim AWP As String 'Accessデータベースフォルダパス
  6.     Dim DB_FILE_NM As String 'Accessデータベースファイル名
  7.     Dim OP_DB_FILE_NM As String '最適化後Accessデータベースファイル名
  8.     Dim BU_DB_FILE_NM As String 'バックアップAccessデータベースファイル名
  9.     
  10.     'Accessデータベースフォルダパス
  11.     AWP = “C:\Users\Desktop\AccessDB"
  12.    
  13.     'Accessデータベースファイル名
  14.     DB_FILE_NM = “Database.accdb"
  15.     
  16.     '最適化後Accessデータベースファイル名
  17.     OP_DB_FILE_NM = “Database_最適化後.accdb"
  18.     
  19.     'バックアップAccessデータベースファイル名
  20.     BU_DB_FILE_NM = “Database_Backup.accdb"
  21.     
  22.     'データベースを最適化する
  23.     DBEngine.CompactDatabase AWP & DB_FILE_NM, AWP & OP_DB_FILE_NM
  24.  
  25.     '前回のBackupファイルがあった場合前のファイルは削除する
  26.     If Dir(AWP & “\バックアップ\" & BU_DB_FILE_NM) <> “" Then
  27.         Kill AWP & “\バックアップ\" & BU_DB_FILE_NM
  28.     End If
  29.    
  30.     '最適元はファイル名を変更してBackupとして保存
  31.     Name AWP & DB_FILE_NM As AWP & “\バックアップ\" & BU_DB_FILE_NM
  32.    
  33.     '最適化後のファイルの名前を元に戻す
  34.     Name AWP & OP_DB_FILE_NM As AWP & DB_FILE_NM
  35.    
  36. End Sub


11行目:Accessデータベースファイルを置いているフォルダパスを設定
14行目:最適化するAccessデータベースファイル名を設定
17行目:最適化後のAccessデータベースファイル名を設定
20行目:最適化前のバックアップAccessデータベースファイル名を設定

スポンサーリンク

 

まとめ

VBAでAccessデータベースを自動的にファイル圧縮(最適化/修復)する方法を紹介しました。
最後までご覧いただき、ありがとうございました。

 

VBAからSQLServerに接続する方法
VBAで外部のAccessに接続する方法
も紹介していますので、もしよろしければご覧ください。

 

¥1,604 (2024/11/19 08:45時点 | Amazon調べ)