【Access-VBA】閉じているデータベースファイルを最適化する方法
VBA でデータベースファイルを最適化すること自体は簡単です。
標準モジュールを作成して、
そのモジュール内で、以下のコードを実行してみてください。
Sub DatabaseOptimization()
' 最適化元の DB ファイル名
Dim strSrcDB As String
' 最適化先の DB ファイル名
Dim strDstDB As String
' 最適化をするデータベースのファイル名を指定
strSrcDB = “e:\test1.accdb"
' 最適化済みのデータベースのファイル名を指定
strDstDB = “e:\test2.accdb"
' 最適化開始
DBEngine.CompactDatabase strSrcDB, strDstDB
End Sub
あとは、元ファイルを削除して、最適化済みのファイルをリネームしてあげる必要があります。
この方法だと自分自身とか開いているファイルを最適化する事はできませんが
極稀ですが、最適化時にデータベースファイルが破損する恐れもあるので
安全面を考えるなら、これで良いと思います。
Access の設定で「閉じる時に最適化をする」とかメニューの「最適化」コマンドも
裏では同じようなことをしています。