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


オブジェクトの削除 - オプション設定をVBAで操作する



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

オプション画面

オブジェクトの削除

「オブジェクトの削除」オプションでは、テーブルやクエリ、フォームといつたオブジェクトを削除する状況下で警告メッセージを表示させるか否かの設定ができます。
チェックオンにすると、誤ってテーブルデータの変更を行ってしまうことはありませんが、変更前にはダイアログが表示されてしまい、作業が一時中断になってしまいます。なお、VBAで操作できるのは、警告メッセージのオン、オフの 切り替え機能だけです。

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

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

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

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

Function OptionDocumentDeletions()

On Error GoTo エラー

    Dim strMag As String
    Dim varGet As Variant 'バリアント型の変数を定義する。
    Dim varSet As Variant 'バリアント型の変数を定義する。
        
    'オプション機能「オブジェクトの削除」設定を操作する。
    varGet = Application.GetOption("Confirm Document Deletions")
        
    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 Document Deletions", 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-

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。