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


データベースウィンドウを非表示にする : Access裏技Tips



Accesファイルを開けると、まず目にするのがデータベースウィンドウです。 ここでは、パスワードを介して、データベースウィンドウの表示、非表示を切り替える技を紹介します。

データベースウィンドウの表示、非表示設定

  1. VBE(Visual Basic Editor)ウィンドウを開き、メニューバーのツールから参照設定ダイアログを開きます。
  2. Microsoft DAOo*.* Object Library が有効(チェック済み)であることを確認します。
  3. FunctionプロシージャChangeProperty、NoShiftKeyを作成します。
  4. メインテナンスフォーム(frm_sample)を作成し、コマンドボタン(Cmdコマンド)を配置します。
  5. コマンドボタンのクリック時イベントを利用して、NoShiftKeyプロシージャを実行します。
  6. サンプルでは、立ち上がったInputBoxダイアログに 1234 のパスワードを入力し[OK]ボタンをクリックします。
  7. 次回、このAccessファイルを立ち上げるとShiftキーが無効になっています。
  8. 有効にするのは、同じくコマンドボタンをクリックし何も入力せずに[OK]ボタンをクリックします。
  9. Shiftキーを無効にすると、スタートアッププロパティおよび AutoExecマクロを無視できなくなりますので、セキュリティが高まります。

参照設定ダイアログを開く

  1. 参照設定ダイアログを開きます。
  2. VBE(Visual Basic Editor)ウィンドウを開きます。
  3. メニューバーのツールから参照設定をクリックします。
  4. Microsoft DAO*.* Object Library(以下、DAO)が有効であることを確認します。
  5. 無効になっているなら、有効にします。

今回のおすすめポイント

DAOの設定

DAO*.*(*.*は、お使いのOfficeバージョンによって異なり、最新版は3.6です。)は、Access97、Access2003では、初期設定で有効になっています。但し、Access2000、Access2002については無効になっていますので、手動で有効にする必要があります。その際、Microsoft ActiveX *.* Data Objects(以下、ADO) のチェックを外すか、DAOより下位に下げます。

Functionプロシージャ NoShiftKey の作成

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

Function NoShiftKey()

    Dim strMsg1 As String
    Dim strMsg2 As String

    strMsg1 = "再起動の後、Shiftキィーが有効になります。"
    strMsg2 = "再起動の後、Shiftキィーが無効になります。"
    
    Select Case InputBox("無効にするパスワードを入力して下さい。") ' --- A
        Case 1234 ' --- B
            ChangeProperty "AllowBypassKey", dbBoolean, False ' --- C
            MsgBox strMsg2
        Case Else
            ChangeProperty "AllowBypassKey", dbBoolean, True ' --- D
            MsgBox strMsg1
    End Select

End Function
解説
  1. InputBox関数を用いて、パスワードを設定します。
  2. 既定値のパスワードです。自由に変更できます。
  3. AllowBypassKeyプロパティにFalseを設定するとShiftキーが無効になり、スタートアッププロパティおよびAutoExecマクロを無効にできません。
  4. AllowBypassKeyプロパティにTrueを設定するとShiftキーが有効になり、スタートアッププロパティおよびAutoExecマクロを無効にすることができます。
今回のおすすめポイント

Shiftキーを押しながらAccessファイルを開く

起動時の設定やAutoExecマクロなど、Accessファイルに大きな影響を与えるこれらの働きを、Shiftキーを押しながらAccessファイルを開くことで無効にすることが可能です。よつて、確実に起動時の設定やAutoExecマクロを動作させるには、Sfitfキーを無効にする必要があります。但し、無効にすると編集ができなくなるなど影響が大きいので、十分注意して下さい。

Functionプロシージャ ChangePropertyの作成

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

Function ChangeProperty(strPropName As String, _
                        varPropType, varPropValue) As Integer ' --- A

On Error GoTo エラー

    Dim dbs As Database
    Dim prp As Property
    Const conPropNotFoundError = 3270
    
    Set dbs = CurrentDb
    dbs.Properties(strPropName) = varPropValue
    ChangeProperty = True

    Exit Function

エラー:

    If Err = conPropNotFoundError Then
        Set prp = dbs.CreateProperty(strPropName, _
                                    varPropType, varPropValue)
        dbs.Properties.Append prp
        Resume Next
    Else
        ChangeProperty = False
        Exit Function
    End If

End Function
解説
  1. CreatePropertyメソッドを使用してプロパティを作成し、DatabaseオブジェクトのProperties レクションに追加しています。

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

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

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

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

Private Sub Cmdコマンド_Click()

    Call NoShiftKey ' --- A

End Sub
解説

A…FunctionプロシージャNoShiftKeyを呼び出します。

動作確認

  1. デザインビューからフォームビューに切り替えます。
  2. メニューバーのツールから起動時の設定をクリックします。

  1. フォーム/ページの表示欄にfrm_sampleを選択し、データベースウィンドウの表示のチェックを外します。
  2. フォーム上のコマンドボタンをクリックし、InputBoxにパスワード1234を入力します。

  1. Shiftキーの無効設定が完了します。
  2. Accessファイルを再起動し、Shiftキーを押しながらAccessファイルを開きます。

  1. データベースウィンドウが表示されていないことを確認します。

関連ページ

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

 


データベースウィンドウを非表示にする : Access裏技Tips


 

-Microsoft Access Club-

cPanel管理者用コンパネWHMの操作管理手順を発信しています。
cPanel管理者用コンパネ「WHM」の操作管理手順を発信中・・・。