誰でも使えるメニュー画面を作成しても管理者だけが操作できるパスワードロックをかけたい時ってありませんか?
今回は、フォームを開くときにパスワードロックをかけるコードをご紹介します。
『InputBox』を使います。
目次
【Accessフォーム】開くときにパスワードを設定する方法
管理者のみが入っていけるようにメニュー画面にパスワードロックをかけました。
操作手順の確認
メインメニュー画面
メインメニューの『店舗設定』を開くときにパスワードを求めるように設定します。
店舗設定
『店舗設定』をクリックすると、『開発者用設定のためパスワードを記入してください。』とパスワードが求められます。
間違ったパスワードを入れる
適当に入れました(笑)
間違ったパスワードを入れると、特になにも表示されずにメインメニュー画面に戻ります。
正しいパスワードを入れる
正しいパスワードを入れると『店コード設定変更』フォームが開くようになっています。
メインメニュー『店舗設定』イベントクリック時にコードを入れる
まずメインメニューの『店舗設定』をクリックした時に発動するコードを入れます。
『店舗設定』をクリックして『プロパティシート』の『クリック時』でイベントを設定します。
『店舗設定』クリック時のコード内容はこちら
Private Sub 店舗設定_Click()
On Error GoTo err_店舗設定
DoCmd.OpenForm “店コード設定変更”, acNormal
Exit_店舗設定_Click:
Exit Sub
err_店舗設定:
Resume Exit_店舗設定_Click
DoCmd.Close acForm, “店コード設定変更”
End Sub
次にフォームを開く側『店コード変更』にもコードを記入します
こちらはフォームを開いた時に発動するコードになるので『店コード設定』をクリックしてフォームの『プロパティシート』の『開く時』でイベントを設定します。
書き込むVBAコードの内容はこちら
Private Sub Form_Open(Cancel As Integer)
If IMEStatus <> vbIMEModeOff Then '半角英数入力を固定にする
SendKeys "{kanji}"
End If
If InputBox("開発者用設定のためパスワードを記入してください。 ") <> "simply123" Then Cancel = True
End Sub
解説
If IMEStatus <> vbIMEModeOff Then ‘半角英数入力を固定にする
SendKeys “{kanji}”
End If
この部分は特に必須ではないのですが、入力が英字だったりかなだったりするので、半角英数に固定しました。
If InputBox(“開発者用設定のためパスワードを記入してください。 “) <> “simply123” Then Cancel = True
緑のマーカー部分がメッセージ部分になりますので、表示するメッセージを入れます。
ピンクのマーカー部分はパスワードになります。ここで任意のパスワードを設定します。
パスワードを忘れた時はここで確認しましょう。
今回は【Accessフォーム】開くときにパスワードロックを設定する方法のご紹介でした。
最後までお読みいただきありがとうございました。