Microsoft Access Club >Access一日一見 >このページ >次頁 <前項  サイト内検索


閉じる時に最適化する - オプション設定をVBAで操作する



Accessのメニューバーにある下記のオプション設定をVBAで操作する方法があります。 今回は、Accessを閉じる時に自動的に最適化を行ってくれる機能の有効、無効をプロシージャで制御する方法を紹介します。

オプション画面

閉じる時に最適化する

この機能は、データベース管理に不可欠な最適化処理をファイルを閉じる際に、毎回自動的に行う設定のことです。

但し、大きな容量になっているファイルでは最適化もかなり時間を要するでしょうし、複数のPCでAccessファイルを利用している時には、不向きです。

VBAで操作できるのは、下記の範囲です。

  • 有効、無効の切り替えができる。

これを実現するためには、下記の2つのメソッドと1つの引数を使うだけです。

  1. GetOptionメソッド
    状態を取得し表示させることもできます。
  2. SetOptionメソッド
    設定値を更新させることができます。
  3. Auto Compact
    引数です。

サンプルプロシージャの作成

何れでも利用できるようにFunctionプロシージャを作成します。

Function OptionCompactSet()
On Error GoTo エラー

    Dim strMag As String
    Dim varGet_1 As Variant 'バリアント型の変数を定義する。
    Dim varSet_1 As Variant 'バリアント型の変数を定義する。
    
    'オプション機能「ファイルを閉じる時に最適化」設定を操作する。
    varGet_1 = Application.GetOption("Auto Compact")
    
    Select Case varGet_1
        Case -1: varGet_1 = "有効"
        Case 0: varGet_1 = "無効"
    End Select
    
    strMag = "「閉じる時に最適化」 設定は、" & _
             "現在 " & varGet_1 & " です。" & _
             vbNewLine & "変更する場合はOKをクリックして下さい"
        
    If 1 = MsgBox(strMag, 17) Then
    
        varSet_1 = InputBox("機能を有効にする場合はTrue、無効はFalseを入力。")
        
        '戻り値がTrue、Falseであれば設定する。
        If varSet_1 = True Or varSet_1 = False Then
        
            Call Application.SetOption("Auto Compact", varSet_1)
            
        End If
                
    End If
Exit Function

エラー:

    MsgBox "何か予期せぬエラーが発生しました。" & vbNewLine & _
            Err.Number & vbNewLine & _
            Err.Description, 16, "管理者"
    Exit Function

End Function
実行結果
  1. このプロシージャをイミディエイトウィンドウで実行してみると、下記のようにメッセージボックスが表示されます。

  1. OKをクリックすると、下記のInputBoxが開きますので必要な設定を行います。

関連ページ

2003/10/29

ページの先頭へ 前ページへ戻る

 


閉じる時に最適化する - オプション設定をVBAで操作する


-Microsoft Access Club-

アダルト・ゲーム配信可能なPLESKパネル付属の専用・共有レンタルサーバーを提供しています。
アダルトやゲーム配信が可能です。
全専用/共有レンタルサーバーにPLESKパネルをインストール済み。