
お世話になります。
Accessで、あるフォームから管理者専用フォームへのリンクするボタンを作ろうと思っています。
イメージは、ボタンを押した時にパスワードを入力するInputBoxを出し、予め設定された
正しいパスワードが入力されたら管理画面フォームを表示。間違っていたら、パスワードが
違う旨を伝えるメッセージを表示するといった感じにしたいのですが、この様なフォームを
作成するにはどのようなVBAを記述したら宜しいでしょうか。
どなた様か良い方法をご存知の方がいらっしゃいましたらご指導をお願い致します。
(初心者のため出来るだけ詳しく教えて頂けたら幸いです)
No.2ベストアンサー
- 回答日時:
パスワードを記述するテキストボックスの定型入力にパスワードを設定します。
このようにすることで入力データが****で表示されます。IMEモードをオフにします。パスワードを入力するテキストボックスの更新後処理イベントにプロシージャを記述します。
記述の順序は・・
定数でパスワードを設定します。
Setステートメントで変数にオブジェクトを代入します。
Ifステートメントでパスワードのチェックを行います。
パスワードを入力するフォーム名をpass_フォーム
パスワードを入力するフィールド名をtextPassとすると
Private Sub txtPass_AfterUpdate()
Dim TextBoxA As TextBox
Const CountPass = "1234" '定数でパスワードを設定。仮に1234とした場合
Set TextBoxA = Me.textPass 'Setステートメントで変数にオブジェクトを代入。
'Ifステートメントでパスワードのチェックをして合致する場合は管理画面フォームを開きpass_フォームを閉じる。合致しなければメッセージを出しpass_フォームを閉じる。
If TextBoxA = CountPass Then
DoCmd.OpenForm "管理画面フォーム"
DoCmd.Close , "pass_フォーム"
Else
MsgBox "パスワードが異なります。", vbOKOnly + vbCritical
DoCmd.Close , "pass_フォーム"
End If
End Sub
こんな感じです。
この回答への補足
お世話になります。
先ほどのpass_フォームが自動で閉じない質問の件ですが
パスワード一致時:
DoCmd.Close
DoCmd.OpenForm "管理画面フォーム"
パスワード不一致時:
MsgBox "パスワードが違います", vbOKOnly + vbCritical
DoCmd.Close
とすることで解決出来ました。
お騒がせして申し訳ございません。
この度はお忙しい中ご対応頂き誠にありがとうございました。
ありがとうございます。
教えて頂きましたソースを早速入力しフォームを作成してみました。
結果、希望通りの動作を作成できて満足しております。
しかし、正しいパスワードを入力後、エンターを押すと
「管理画面フォーム」が開くのですが、自動で「pass_フォーム」が閉じてくれません。
パスワード不一致時も同じく自動では閉じませんでした。
ソース中の注釈文から自動で閉じてくれるのかなと
思ったのですが、これで正常な動作なのでしょうか?
No.1
- 回答日時:
パスワードが****で表示でなくて良いならですが...
PASSの所を実際のパスワードにしてください。
Private Sub コマンド0_Click()
On Error GoTo Err_コマンド0_Click
Dim stDocName As String
Dim stLinkCriteria As String
Dim PWord As String
Input_コマンド0_Click:
PWord = InputBox("パスワードを入力してください。", "管理者専用フォーム", "", 1, 1)
If PWord = "PASS" Then
stDocName = "管理者専用フォーム"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
If MsgBox("パスワードが違います。", vbOKCancel, "管理者専用フォーム") = vbOK Then GoTo Input_コマンド0_Click
End If
Exit_コマンド0_Click:
Exit Sub
Err_コマンド0_Click:
MsgBox Err.Description
Resume Exit_コマンド0_Click
End Sub
ありがとうございます。
早速作成してみたのですが、やはりパスワード入力時に
入力文字が見えてしまうと情報漏洩の恐れがあるため
アスタリスクで表示される方法を選びたいと思います。
しかし、この様な方法もあるのだと勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- その他(セキュリティ) Facebookアカウントを乗っ取られ、ログインも出来ずパスワードの再設定もできずに困っている 2 2023/02/17 14:24
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- その他(プログラミング・Web制作) google formsで回答者をスプレッドシートに記載する方法 1 2023/06/23 11:22
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
不正ログインされました。対応...
-
Excelのセルにユーザー名...
-
Steamのアカウントにログインで...
-
メールアドレスで上付きのハイフン
-
ユニクロやGUのシフト管理アプ...
-
CSVファイルを添付するときにパ...
-
メールを返信したら、英語のメ...
-
ワードに入力したメールアドレ...
-
インスタのアカウントが削除さ...
-
カカオトークを退会せずにアン...
-
解約済みの iPadについて 解約...
-
インスタの乗っ取り解除につい...
-
YouTubeが毎回ログインしないと...
-
「そのメールアドレスはすでに...
-
インターネットカフェでCD書き...
-
カカオで退会せずに、アプリだ...
-
携帯電話を解約してもSMSの受信...
-
カカオトークについて教えてく...
-
メールアドレスを人に教えるの...
-
email.ne.jpのメールアドレスを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
Steamのアカウントにログインで...
-
ユニクロやGUのシフト管理アプ...
-
runas実行した時にきかれるパス...
-
インスタの乗っ取り解除につい...
-
メールを返信したら、英語のメ...
-
CSVファイルを添付するときにパ...
-
YouTubeが毎回ログインしないと...
-
email.ne.jpのメールアドレスを...
-
カカオで退会せずに、アプリだ...
-
携帯電話を解約してもSMSの受信...
-
iPhoneのiCloudメールなよです...
-
メールアドレスで上付きのハイフン
-
メールをパスワードつきで送る方法
-
「そのメールアドレスはすでに...
-
インスタの捨て垢で友達のスト...
-
「@」(アットマーク)の無いメ...
-
sageがついてるメールアドレス
-
スタディプラスではアカウント...
-
カカオトークを退会せずにアン...
おすすめ情報