access

わかりやすく解説!shiftを押しながらAccessを開いても編集不可にする方法

access

編集不可設定してあるAccessファイルでもshiftキーを押しながら開くと編集ができますよね。

納品先などでshiftキーの方法が知られていた場合、改変の可能性もあります。

 

この記事では、Accessでパスワードを入力しないと編集ができないようにする方法と手順を紹介します。

 

shiftを押しながらAccessを開いても編集不可にする方法

 

Accessのプロパティに”AllowBypassKey”があります。

このプロパティに”True”か”False”を設定することで、「shiftキーを押しながら起動で編集可能」の機能を不可にすることができます。

 

  • True:shiftキーを押しながら起動で編集可能機能を有効
  • False:shiftキーを押しながら起動で編集可能機能を無効

 

 

shiftを押しながらAccessを開いても編集不可にする手順

 

accessファイルを開き、パスワード入力用のフォームを作成

 

ここでは、パスワードを入力するテキストコントロールと、ボタンのみを配置します。

 

accessファイルを開き、パスワード入力用のフォームを作成

 

コードエディタを開き、パスワード設定処理のコードを書く

コードエディタを開く

 

参照設定

DAOに関して、32bitと64bitで選択するものが違うので注意

64bit:Microsoft Office 16.0 Access databass engine Object Library

64bit:Microsoft Office 16.0 Access databass engine Object Library

32bit:Microsoft DAO 3.6 Object Library

32bit:Microsoft DAO 3.6 Object Library

 

プログラミング

パスワードは固定値で「pass」としています。

ソースの全文は画像の次に記載してあります。

 

プログラミング

プログラムの全文
Option Compare Database
Option Explicit
'''画面を開くとき
Private Sub Form_Open(Cancel As Integer)
   'shiftキー起動編集機能を無効
   Fnc_allowBypassKey False
End Sub
'''認証ボタンのクリック時
Private Sub btn_Click()
   If txt.Value = "pass" Then
      'shiftキー起動編集機能を有効
      Fnc_allowBypassKey True
      '許可メッセージ
      MsgBox "編集を許可します。一旦AccessDBを閉じてください"
   Else
      'shiftキー起動編集機能を無効
      Fnc_allowBypassKey False
   End If
End Sub
'--------------------------------------
'引数
'val:allowBypassKeyプロパティに適用する値(True or False)
'--------------------------------------
Function Fnc_allowBypassKey(val As Variant)
   '変数を定義
   Dim cdb As DAO.Database
   Dim pro As DAO.Property
   '自分自身のDBを設定
   Set cdb = CurrentDb
   'エラーが発生しても無視する
   On Error Resume Next
      'AllowBypassKeyを初期化
      cdb.Properties.Delete "AllowBypassKey"
   On Error GoTo 0
   'AllowBypassKeyを設定
   Set pro = cdb.CreateProperty("AllowBypassKey", dbBoolean, val, True)
   'DBに適用
   cdb.Properties.Append pro
End Function

 

accessファイルのメニューバーから「ファイル」を選択

accessファイルのメニューバーから「ファイル」を選択

 

「オプション」を選択

「オプション」を選択

 

「Accessのオプション」ダイアログが開いたら、メニューから「現在のデータベース」を選択

 

下記の手順で設定値を変更する

  1. ”アプリケーションオプション”のカテゴリから”フォームの表示(D)”をパスワード入力用のフォームに設定
  2. ”ナビゲーション”のカテゴリから「ナビゲーション ウィンドウを表示する(N)」のチェックをOFF
  3. ”リボンとツールバーのオプション”のカテゴリから「すべてのメニューを表示する(M)」のチェックをOFF

 

 

設定完了!Accessファイルを閉じる

 

 

パスワード設定確認方法

 

shiftキーを押しながらパスワード設定したAccessファイルを開く

shiftキーを押しながらパスワード設定したAccessファイルを開く

 

パスワードを入力し、認証ボタンをクリック

パスワードを入力し、OKボタンをクリック

 

パスワード解除のメッセージを表示される

パスワード解除のメッセージを表示される

 

メッセージに従い、Accessファイルを閉じてから、再び、shiftキーを押しながらパスワード設定したAccessファイルを開く

 

認証画面が開かずに、Accessファイル編集できるモードで起動したら成功です。

 

メッセージに従い、Accessファイルを閉じてから、再び、shiftキーを押しながらパスワード設定したAccessファイルを開く

 

おわり