Microsoft Access Club >SampleFile >インデックス >このページ >次頁 < 前項  サイト内検索
 

Shift Keyの無効 - データベースウィンドウの非表示:SampleFile001



セキュリティ強化の一環としては、データベースウィンドウを表示させないことが挙げられます。これの代表的なものは、Shiftキィーを無効にすることです。Accessファイルをmde形式ファイルに変換し、データベースを保護していてもユーザーがShiftキィー を押しながらAccessファイルを開いてしまうと、データベースウインドウが表示されてしまいます。

今回、Shiftキィーを無効にし、データベースウィンドウを非表示にするモジュール をご紹介しましょう。これによって、 データベースの改竄を防止できます。

また、下記の対応を併せてお願いします。より強固になります。

  1. mdeファイルを作成すること。
  2. 起動時の設定ダイアログから、データベースウインドウの非表示及び全てのチェックをはずすこと。
  3.  
  4. 管理者としてはデータベースウィンドウの表示が必要です。よってパスワード設定で、データベースウィンドウの表示・非表示を切り替える 仕様とすること。
留意点

FunctionプロシージャChangePropertyの作成

下記のプロシージャをデータベースウィンドのモジュール欄に記述して下さい。全てをコピーしても結構です。

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

On Error GoTo エラー

    Dim dbs As Database, 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

FunctionプロシージャNoShiftKeyの作成

下記のプロシージャをデータベースウィンドのモジュール欄に記述して下さい。

Function NoShiftKey()

    Dim strmsg_1 As String
    Dim strmsg_2 As String

    strmsg_1 = "ファイルを再度立ち上げた後、Shiftキィーが有効になります。"
    strmsg_2 = "ファイルを再度立ち上げた後、Shiftキィーが無効になります。"
    
    'Shiftキィーを無効、有効にするため、パスワードを要求します。
    Select Case InputBox("パスワードを入力してください。")

        Case 1234 '既定値のパスワードです。自由に変更できます。
            ChangeProperty "AllowBypassKey", dbBoolean, True
            MsgBox strmsg_1, , "Microsoft Access Club"

        Case 0
            ChangeProperty "AllowBypassKey", dbBoolean, False
            MsgBox strmsg_2, , "Microsoft Access Club"

        Case Else
            ChangeProperty "AllowBypassKey", dbBoolean, False
            MsgBox strmsg_2, , "Microsoft Access Club"

    End Select

End Function
解説
  • パスワード 1234 は、取りあえず定めたものですからユーザーが自由に変更できます。
  • パスワードが合致すれば、ShiftKeyの設定が有効になり、合致しなければ無効になります。
留意点
  • これらプロシージャの設定が有効になるのは、一度Accessファイルを 閉じて、次にAccessファイルを開いた時です。
コマンドボタンのクリック時イベントに設定

コマンドボタンのクリック時イベントに下記のように記述して下さい。クリック時イベントから、プロシージャNoShiftKeyを呼び出します。

動作確認
  1. フォームをフォームビューモードで開けます。
  2. 下記のコマンドボタンをクリックします。

  1. InputBoxダイアログが開きます。
  2. パスワード 1234 以外の文字を入力します。

 

  1. Shiftキーは無効に設定されました。
  2. Accessファイルを一旦閉じ、再度開くとShiftキーは無効に設定されています。
補足

Shiftキーを有効にする場合

  1. パスワード1234を入力します。
  2. Accessファイルを閉じます。
  3. 次に、Accessファイルを開くと有効になります。

関連ページ

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


Shift Keyの無効 - データベースウィンドウの非表示:SampleFile001


 

-Microsoft Access Club-