従業員マスタには氏名や住所、給与単価などの機密情報が含まれます。Accessで運用する場合、ログイン権限による制御はもちろんですが、実務では「管理者がログインしたまま離席した瞬間」の物理的なリスクも無視できません。
本記事では、VBAを使わずに標準マクロと関数1行で実装できる、「開く直前の最終確認パスワード」の組み込み方を解説します。
1. 実装した機能と「現場での役割」
-
二段階認証の自動化:ログイン者の権限判別後、さらに入力窓を出すフロー。
-
物理的な覗き見防止:離席中のPCで第三者がマスタを閲覧するリスクを低減。
-
InputBox関数の活用:専用フォームを作らずに関数1行で入力窓を表示。
-
ガードレール設計:誤入力やキャンセル時にマクロを強制終了し、暴走を予防。
2. 個人情報保護の観点で「最後の砦」パスワード要求
実際のポップアップフォーム
ボタンをクリックすると、この入力画面が表示されます。 管理者PCが常に「ログイン中」であっても、マスタを開く瞬間にこの一段階を挟むことで、意図しない情報閲覧を防ぐ「最後の砦」として機能します。
3. マクロの構成解説(VBA不要)
実際のマクロ
- 実際のマクロのコピペ活用
-
■ サブマクロ: 従業員マスタ If [権限]=2 Then | | If InputBox("セキュリティ強化のため 従業員マスタ用のパスワードを入力してください。")="9999" Then | | | | フォームを開く | | フォーム名:F01従業員リスト | | ビュー:フォーム | | ウィンドウモード:標準 | | | | マクロの中止 | | | Else | | | | メッセージボックス | | メッセージ:パスワードが違います。 | | 警告音:はい | | 種類:警告 | | タイトル:エラー | | | | マクロの中止 | | | End If | Else | | メッセージボックス | メッセージ:従業員マスタを開く権限がありません | 警告音:はい | 種類:警告 | タイトル:権限なし | | マクロの中止 | End If
※パスワード「9999」は開発用の仮設定です。運用時は管理者がマクロのデザイン画面で直接変更して使用します。
※[権限]=2 は従業員マスタで個々に付与した権限をメインメニューに表示してそれを参照しています。
4. 認証後 → 従業員リストの表示
正しいパスワードが入力されると、マクロの次のアクションが実行され、機密情報を安全に閲覧・編集できる「従業員リスト」画面へと遷移します。
次のステップ:機能的な一覧画面の設計
認証をクリアした後に表示される「従業員リスト」では、単にデータを並べるだけでなく、「必要な情報を一瞬で探し出し、スムーズに更新できる」実務特化のレイアウトを採用しています。
続いての記事では、この一覧画面(データシート)に盛り込んだ視認性と操作性を高める工夫について詳しく解説します。
データベースと聞くと、つい「検索窓に文字を打ち込んで、1件ずつ呼び出す」という手間を想像しがちですが、実務で本当に欲しい…
5. まとめ
この設計の利点は、VBAがわからない後継者でもマクロのデザイン画面でパスワードを容易に変更できるメンテナンス性にあります。利便性と安全性のバランスを、標準機能の組み合わせだけで実現した形です
