Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


オプション設定「閉じる時に最適化する」をVBAで変更する : Access裏技Tips



Accessを終了する時に自動的に最適化を行うオプションがありますが、インストール時は無効になっています。 ここでは、プロシージャでオプション設定の有効、無効を切り替える技を紹介します。

オプション設定をVBAで無操作する

  1. Access2000から追加された機能として、Accessを閉じる時に自動的に最適化を行うオプション設定があります。
  2. これをVBAで操作するには、Functionプロシージャ OptionCompactSet を作成します。
  3. GetOptionメソッド、SetOptionメソッドを利用して、引数に目的のオプション名、設定値を記述するだけで照会、設定が可能になります。
  4. サンプルでは、メンテナンスフォーム(frm_sample)にコマンドボタン(Cmd最適化)を作成し、クリック時イベントから実行します。

Functionプロシージャ OptionCompactSet の作成

Functionプロシージャ OptionCompactSet を作成します。

Function OptionCompactSet()

On Error GoTo エラー

    Dim strMsg As String
    Dim strMsg2 As String
    Dim strinput As String
    Dim varGet As Variant
    Dim varSet As Variant
    
    varGet = Application.GetOption("Auto Compact") ' --- A
    
    Select Case varGet ' --- B
        Case True: varGet = "有効"
        Case False: varGet = "無効"
    End Select
    
    strMsg = "オプション設定「閉じる時に最適化する」は、" & _
             "現在 " & varGet & " になっています。" & _
             vbNewLine & "これを変更する場合は OK をクリックして下さい"
    strinput = "機能を有効にする場合はTrue、無効にする場合はFalseを入力のこと。"
        
    If 1 = MsgBox(strMsg, 1) Then
        varSet = InputBox(strinput) ' --- C
        
        If varSet = True Or varSet = False Then ' --- D
            Call Application.SetOption("Auto Compact", varSet) ' --- E
        Else
            MsgBox "入力値が誤っています。", vbCritical
            End
        End If
        
        Select Case varSet ' --- F
            Case True: varSet = "有効"
            Case False: varSet = "無効"
        End Select

        strMsg2 = "閉じる時に最適化する設定は、" & varSet & " になりました。"
        MsgBox strMsg2   
    End If
    
Exit Function

エラー:

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

End Function
解説
  1. GetOptionメソッドを用いて、オプション機能「閉じる時に最適化する」(Auto Compact)の設定値を変数varGetに代入します。
  2. Selectステートメントを用いて、変数varGetの値を日本語化します。
  3. InputBox関数を用いて、入力された設定値(True、False)を変数varSetに代入します。
  4. 変数varSetがTrue、Falseであれば、以下の処理を移行します。
  5. SetOptionメソッドを用いて、変数varSetをAuto Compactに引き渡します。
  6. Selectステートメントを用いて、変数varSetの値を日本語化します。

メンテナンスフォームの作成

  1. 非連結のメンテナンスフォームを作成します。
  2. コマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを作成します。

Private Sub Cmd最適化_Click()

    Call OptionCompactSet ' --- A

End Sub
解説
  1. Functionプロシージャ OptionCompactSet を呼び出します。

動作確認

  1. デザインビューからフォームビューに切り替えます。

  1. コマンドボタンをクリックすると、現在の設定状況がメッセージボックスに表示されます。

  1. 変更する場合は、[OK]ボタンをクリックします。
  2. InputBoxダイアログが開きますので、True または False を入力します。

  1. 設定変更の完了メッセージを表示します。

今回のおすすめポイント

オプション設定ダイアログ

Access操作に関する各種のオプション機能をまとめて照会、変更ができるダイアログです。メニューバーからツールのオプションで呼び出します。

関連ページ

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

 


オプション設定「閉じる時に最適化する」をVBAで変更する : Access裏技Tips


 

-Microsoft Access Club-

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