目次
shiftを押しながらAccessを開いても編集不可にする方法
Accessのプロパティに”AllowBypassKey”があります。 このプロパティに”True”か”False”を設定することで、「shiftキーを押しながら起動で編集可能」の機能を不可にすることができます。- True:shiftキーを押しながら起動で編集可能機能を有効
- False:shiftキーを押しながら起動で編集可能機能を無効
shiftを押しながらAccessを開いても編集不可にする手順
accessファイルを開き、パスワード入力用のフォームを作成
ここでは、パスワードを入力するテキストコントロールと、ボタンのみを配置します。
コードエディタを開き、パスワード設定処理のコードを書く
コードエディタを開く
参照設定
DAOに関して、32bitと64bitで選択するものが違うので注意プログラミング
パスワードは固定値で「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 Functionaccessファイルのメニューバーから「ファイル」を選択
「オプション」を選択
「Accessのオプション」ダイアログが開いたら、メニューから「現在のデータベース」を選択
下記の手順で設定値を変更する- ”アプリケーションオプション”のカテゴリから”フォームの表示(D)”をパスワード入力用のフォームに設定
- ”ナビゲーション”のカテゴリから「ナビゲーション ウィンドウを表示する(N)」のチェックをOFF
- ”リボンとツールバーのオプション”のカテゴリから「すべてのメニューを表示する(M)」のチェックをOFF
設定完了!Accessファイルを閉じる
パスワード設定確認方法
shiftキーを押しながらパスワード設定したAccessファイルを開く
パスワードを入力し、認証ボタンをクリック
パスワード解除のメッセージを表示される
メッセージに従い、Accessファイルを閉じてから、再び、shiftキーを押しながらパスワード設定したAccessファイルを開く
認証画面が開かずに、Accessファイル編集できるモードで起動したら成功です。
おわり
- わかりやすく解説!AccessでSQLserverのリンクテーブルを追加する方法
- わかりやすく解説!Accessの編集不可の方法(2パターン)
- わかりやすく解説!shiftを押しながらAccessを開いても編集不可にする方法
関連記事
「本業の給料だけでは、将来が少し不安…」「自分の技術、会社の外で通用するんだろうか?」「新しいスキルを身につけたいけど、学ぶだけじゃなく実践で使ってみたい」 もしあなたがシステムエンジニア(SE)として、このような思いを少しで[…]
実務でShift起動を制御するときの注意点
AccessでShiftキー起動を制御する目的は、利用者が意図せず編集画面や管理用オブジェクトに触れることを防ぐためです。ただし、管理者まで操作できなくなると保守作業に支障が出るため、設定前にバックアップと解除手順を必ず確認しておきます。
実務では、利用者向けファイルと管理者向けファイルを分ける、変更前のファイルを保存しておく、誰が解除できるかを決めておく、といった運用が必要です。単に編集不可にするだけでなく、保守できる状態を残すことが大切です。
- 変更前のバックアップを残しているか
- 管理者が解除できる手順を把握しているか
- 利用者の通常操作に影響がないか確認したか
- 共有フォルダの権限とAccess側の制御を分けて考えているか
Accessの編集制御全体は、Accessの編集不可の方法もあわせて確認すると整理しやすいです。


