HOME > 即効テクニック > AccessVBA > データベース・データ保護 > JROでDBを最適化する(CompactDatabaseメソッド)

即効テクニック

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

JROでDBを最適化する(CompactDatabaseメソッド)

(Access)
●概要●
テーブルからレコードを削除したりするとフラグメンテーション(断片化)が発生します。適宜、最適化することによって、データベースのパフォーマンスを最大限発揮できるようになります。以下のコードは、JRO(Jet and Replication)オブジェクトを使用した最適化サンプルです。

●サンプルプログラム●
Sub Optimization()
    Dim strOldConnect   As String
    Dim strNewConnect   As String
    Dim objJRO          As JRO.JetEngine
    
    ' 参照をセットする
    Set objJRO = New JRO.JetEngine
    
    ' 最適化前のファイル
    strOldConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                    "Data Source=E:\Northwind.mdb"
    
    ' 最適化後のファイル
    strNewConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                    "Data Source=E:\Northwind_New.mdb"
    
    ' 最適化(JRO使用)
    objJRO.CompactDatabase strOldConnect, strNewConnect
    
    ' 参照をクリア
    Set objJRO = Nothing
End Sub

●注意●
このサンプルを動作させるには、あらかじめ、[ツール]-[参照設定]にて「Microsoft Jet and Replication Objects」を組み込む必要があります。