ここでは、データベースを最適化する VBA のサンプルコードを掲載しています。
スポンサーリンク
VBA による Access データベースの最適化
Access のデータベースを最適化するには、DBEngine.CompactDatabase メソッドを呼び出すのみです。ただし、自分自身ではなく、別の mdb ファイルから最適化を行いたい mdb ファイルを指定する必要があります。自分自身では最適化を行うことはできません。閉じられたデータベースに対してのみ使用することができます。
DBEngine.CompactDatabase "最適化するアクセスファイルパス.mdb", "最適化されてコピーされるアクセスのファイルパス.mdb
パスワードで保護されたアクセスファイルや、暗号化の有無の設定も行うことができます。詳細は、「 DBEngine.CompactDatabase メソッド (DAO) 」 を参照ください。
UI による最適化
手動で UI から最適化を行うこともできます。最適化を行うことによりサイズがグッと小さくなることもあります。
Access2007 でデータベースの最適化
[Officeボタン]
−[管理]
−[データベースの最適化/修復]
Access2010 でデータベースの最適化
[データベースツール]タブ
−[ツール]グループ
−[データベースの最適化/修復]
または、
[ファイル]タブ
−[情報]
−[データベースの最適化/修復]
おそらく、UI の修正要望や要求がマイクロソフトに対して多数あったものと推測します。
ファイルを閉じる時に自動で最適化する
ファイルを閉じるときに自動で最適化することもできます。ただし、MDB ファイルをネットワークで共有して複数ユーザーからアクセスさせているような使用方法をしているときには、自動での最適化はデータベースの破損リスクを高めるので注意が必要です。
ファイルを閉じるときに自動で最適化を行うには、以下の操作で設定します。
[Officeボタン]
−[Accessのオプション]
−[カレントデータベース]
−[閉じるときに最適化する]