HOME > 即効テクニック > AccessVBA > データベース・データ保護 > VBAを使ったデータベースの最適化

即効テクニック

データベース・データ保護

VBAを使ったデータベースの最適化

(Access)
Accessでは、登録したレコードを削除しても、物理的に使用するディスク容量は変わりません。そこで、定期的に「DBの最適化」処理を行うわけですが、通常、「ツール」メニューの「データベースユーティリティ」の「最適化/修復」を使用しますが、VBAのコードを使ってもデータベースを最適化させることが出来ます。システム終了時に最適化するコードを実行させれば、常に最高のパフォーマンスでデータベースを参照することができます。

●サンプル●
Sub Optimization()
    Dim cOrgDB  As String
    Dim cOptDB  As String
    
    ' 最適化をするデータベースのファイル名を指定する
    cOrgDB = "C:\Documents and Settings\sato\My Documents\db2"
    
    ' 最適化済みのデータベースのファイル名を指定する
    cOptDB = "C:\Documents and Settings\sato\My Documents\db2_new"
    
    ' 最適化開始
    DBEngine.CompactDatabase cOrgDB, cOptDB, , dbEncrypt

End Sub

注意:CompactDatabaseメソッドは、閉じているデータベースのコピーと最適化を行います。開いているデータベースに対して実行するとエラーが発生します。