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


アクション クエリ - オプション設定をVBAで操作する



Accessのメニューバーにある下記のオプション設定をVBAで操作する方法があります。割と簡単に実現できます。 今回は、確認項目欄にある「アクション クエリ」のオプション設定です。

オプション画面

アクション クエリ

「アクション クエリ」オプションでは、アクションクエリを実行する前に、実行の可否を問うメッセージを表示させるか否かの設定ができます。
アクションクエリは、テーブルデータに変更を加えること多いので、 チェックオンにすると誤って実行してしまうことはありません。VBAで操作できるのは、警告メッセージのオン、オフだけです。

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

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

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

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

Function OptionActionQueries()

On Error GoTo エラー

    Dim strMag As String
    Dim varGet As Variant 'バリアント型の変数を定義する。
    Dim varSet As Variant 'バリアント型の変数を定義する。
        
    'オプション機能「アクション クエリ」設定を操作する。
    varGet = Application.GetOption("Confirm Action Queries")
        
    Select Case varGet
        Case -1: varGet = "有効"
        Case 0: varGet = "無効"
    End Select
        
    strMag = "「アクションクエリ」時のメッセージ設定は、" & _
             "現在 " & varGet & " です。" & _
             vbNewLine & "変更する場合はOKをクリックして下さい"
        
    If 1 = MsgBox(strMag, 17) Then
    
        varSet = InputBox("機能を有効にする場合はTrue、無効はFalseを入力。")
        
        '戻り値がTrue、Falseであれば設定する。
        If Not IsNull(varSet) Then
        
            Call Application.SetOption("Confirm Action Queries", varSet)
            
        End If
                
    End If
    
Exit Function

エラー:

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

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

  1. OKをクリックすると、下記のInputBoxが開きます。

補足

今回ご紹介しているのは、Accessの基本設定のなかで警告メッセージを表示させる、させないを制御する方法です。しかし、特定のイベントを実行するときだけ、 表示させる、させないを切り替えたい場合は、SetWarningsメソッドを用います、

利用方法は、プロシージャ内で下記のように記述します。

            DoCmd.SetWarnings False '警告メッセージをオフにします。
            DoCmd.OpenQuery "qry_sample", acNormal ' 削除クエリを実行します。
            DoCmd.SetWarnings True '警告メッセージをオンに戻します。

このようにすることで、qry_sample削除クエリの実行時のみ、警告メッセージが非表示になります。

関連ページ

2003/10/31

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

 


アクション クエリ - オプション設定をVBAで操作する


-Microsoft Access Club-

アメリカ合衆国やヨーロッパのデータセンターからcPanelレンタルサーバーをご提供します。お支払いは日本国内の銀行振込で...。1ヵ月契約からOKです。
アメリカ合衆国やヨーロッパからcPanelレンタルサーバー。
お支払いは日本国内の銀行振込。
最短契約期間は1ヵ月契約からOKです。