iroiros's blog

技術情報と生活のあれこれ

Accessのデータベースを最適化(圧縮)

 Accessのデータベースを手動で最適化(圧縮)するのも、なかなか面倒なのでプログラムを組むことに。

 

Webで調べたところ、以下のような手順。

  1. データベースを圧縮する(この時、元ファイルAを別ファイルBに圧縮
  2. 元ファイルAを削除
  3. 別ファイルBを元ファイルAと同じファイル名にリネーム

 

    Dim eng As Object eng = CreateObject("DAO.DBEngine.120") 'ACE 12.0 
    '最適化
    eng.CompactDatabase(strFileNameA, strFileNameB, , , ";pwd=password")
    'ファイルの削除
    System.IO.File.Delete(strFileNameA)
    'ファイルのリネーム
    System.IO.File.Move(strFileNameB, strFileNameA)
    
    eng = Nothing