ray88’s diary

お仕事で困ったとき用の自分用の覚書

AccessVBA  VBAでDBファイルを最適化する

■参考URL:
Excel VBA を学ぶなら moug モーグ | 即効テクニック | 閉じているデータベースを最適化してコピーする(DAO)
■ 構文:DBEngine.CompactDatabase olddb, newdb, locale, options, password

Sub 最適化()
    Dim targetDbPath As String
    Dim destDbPath As String
    Dim strPW As Variant
    strPW = ";pwd=xxxxx"
    
    targetDbPath = "C:\デスクトップ\テスト.accdb"
    destDbPath = "C:\デスクトップ\テスト_new.accdb"

    DBEngine.CompactDatabase targetDbPath, destDbPath, strPW, , strPW
        
    '元ファイルを削除
    Kill targetDbPath
    
    '最適化後ファイルを元ファイルと同じパスのファイルにコピー
    FileCopy destDbPath, targetDbPath
    
    '最適化後ファイルを削除
    Kill destDbPath
End Sub