【VBA】Accessデータベースを自動的にファイル圧縮(最適化/修復)する方法(マクロ)
VBAでAccessデータベースを自動的にファイル圧縮(最適化/修復)したい人向けに書いています。
本記事の内容
VBA(マクロ)でAccessデータベースを自動的にファイル圧縮(最適化/修復)したいと思ったことはありませんか?
バックアップ等で管理しているAccessデータベースが肥大化したことはありませんか?
定期的にAccessデータベースを手動で最適化/修復していませんか?
VBAでAccessデータベースを自動的にファイル圧縮(最適化/修復)する方法を紹介します。
VBA(マクロ)でAccess(アクセス)データベースを自動的にファイル圧縮(最適化/修復)する方法
以下がVBA(マクロ)でAccessデータベースを自動的にファイル圧縮(最適化/修復)するプログラムです。
- '*****************************************
- '* Accessデータベースの最適化
- '*****************************************
- Sub ACCESS_DB_OPTIMIZE()
- Dim AWP As String 'Accessデータベースフォルダパス
- Dim DB_FILE_NM As String 'Accessデータベースファイル名
- Dim OP_DB_FILE_NM As String '最適化後Accessデータベースファイル名
- Dim BU_DB_FILE_NM As String 'バックアップAccessデータベースファイル名
- 'Accessデータベースフォルダパス
- AWP = “C:\Users\Desktop\AccessDB"
- 'Accessデータベースファイル名
- DB_FILE_NM = “Database.accdb"
- '最適化後Accessデータベースファイル名
- OP_DB_FILE_NM = “Database_最適化後.accdb"
- 'バックアップAccessデータベースファイル名
- BU_DB_FILE_NM = “Database_Backup.accdb"
- 'データベースを最適化する
- DBEngine.CompactDatabase AWP & DB_FILE_NM, AWP & OP_DB_FILE_NM
- '前回のBackupファイルがあった場合前のファイルは削除する
- If Dir(AWP & “\バックアップ\" & BU_DB_FILE_NM) <> “" Then
- Kill AWP & “\バックアップ\" & BU_DB_FILE_NM
- End If
- '最適元はファイル名を変更してBackupとして保存
- Name AWP & DB_FILE_NM As AWP & “\バックアップ\" & BU_DB_FILE_NM
- '最適化後のファイルの名前を元に戻す
- Name AWP & OP_DB_FILE_NM As AWP & DB_FILE_NM
- End Sub
11行目:Accessデータベースファイルを置いているフォルダパスを設定
14行目:最適化するAccessデータベースファイル名を設定
17行目:最適化後のAccessデータベースファイル名を設定
20行目:最適化前のバックアップAccessデータベースファイル名を設定
まとめ
VBAでAccessデータベースを自動的にファイル圧縮(最適化/修復)する方法を紹介しました。
最後までご覧いただき、ありがとうございました。
「VBAからSQLServerに接続する方法」
「VBAで外部のAccessに接続する方法」
も紹介していますので、もしよろしければご覧ください。


最近のコメント