1.Accessデータベースの最適化をExcelツールから実行するには? |
1.Accessデータベースの最適化をExcelツールから実行するには?
この方法、私が見た限りExcelVBAマクロどの本を見ても書いてなく非常に困っていたところ、上司が闇のルートを使って調べてくれました。この方法を使って実現した時飛び上がって喜んだものです。
まず、「Visual Basic Editer」のメニューバーの「ツール」の「参照設定」で以下のライブラリを追加します。
「Microsoft Jet and Replication Objects 2.5 Library」
※ バージョン番号が異なっても良いが、新しいバージョンを参照設定すると古いバージョンしか入っていないマシーンでは起動しません。
''Public Const cS_MdbActiveXName = "Provider=Microsoft.Jet.OLEDB.3.51;" ''Access97のライブラリ Public Const cS_MdbActiveXName = "Provider=Microsoft.Jet.OLEDB.4.0;" ''Access2000以降のライブラリ ''アクセスDB最適化処理 Public Sub Sub_Saitekika() ' JRO を使用して Accessファイルを最適化する Dim J_JET As New JRO.JetEngine Dim S_MDBName As String Dim S_MDBName2 As String S_MDBName = 「最適化対象のMDBファイル名」 S_MDBName2 = 「最適化後のMDBファイル名」※最適化の前と後で名前が変わります。 ''ファイルの最適化 J_JET.CompactDatabase cS_MdbActiveXName & _ "Data Source=" & S_MDBName, _ cS_MdbActiveXName & _ "Data Source=" & S_MDBName2 Kill S_MDBName ''元ファイルを削除する。 Name S_MDBName2 As S_MDBName ''名前を変更する。 End Sub |