システムwiki

コマンドボタンを無効にします

Prescho 解決済 最終更新日:2021-05-02 02:36

私のデータベースが最初に開いたときに開く非常に基本的で簡単なログインフォームを持っています.フォームはFrmmainMenuで、ボタンはcmdfoodservとcmdstaffです.
デフォルトでは、ボタンは有効になっていません.私はログイン形式で次のコードを使っています:

プライベートサブCMDOPENNAV_CLICK()
me.txtpassword= "#madison1"
docmd.close
docmd.openform "frmmainmenu"
フォーム!FrmmainMenu!cmdfoodserv.enabled= true
フォーム!frmmainMenu!cmdstaff.enabled= true
elseif me.txtpassword= "教師!"それから
docmd.close
docmd.openform "frmmainmenu"


msgbox "正しいパスワードを入力しなかった、もう一度やり直してください"、vbcritical、 "誤ったパスワード"
me.txtpassword.value= null
me.txtpassword.setFocus

の場合は終了 終了SUB

このコードはログイン形式から開くとうまく機能しますが、FRMMainMenuを閉じて別のフォームを開き、次にFRMMainMenuに戻って戻ってください.それらは常に有効になっているようにこれを修正する方法
#madison1パスワードがログインフォームに入力された場合は?

または私は他の提案に開いています.

返信リスト(回答:4)

1 #
Scottge

まず、システムが非常に非効率的です.そのようなパスワード値をハードコーディングするのは良い考えではありません.

これを行うためのより良い方法については、VBAブログでログインセキュリティを確認することをお勧めします.アクセスレベルを使用して、ボタンを非表示にするか表示するかを決定します.そして、フォームのOnLoadイベントにコードを配置します

アクセスレベル<3の場合

me.cmdButton.Visible=True

その他

Me.cmdButton.Visible=False

終了する場合

応答1# ->にスキップ
2 #
BillMos

スコットのコードを簡略化するには、次のようにします.

Me.cmdButton.Visible=AccessLevel<3

応答1# ->にスキップ
3 #
Prescho

ログインセキュリティはどこでチェックできますか?リンクがありますか?

応答3# ->にスキップ
4 #
Scottge
私のブログへのリンクを私のsigで探してください.