- 締切済み
Access:キャンセルボタンでログイン用フォームを閉じられない
Access2000、Windows2000を使っています。 とあるログイン用のフォームに、ID入力用テキストボックス、パスワード 入力用テキストボックス、ログインボタン、キャンセルボタンを実装して います。IDとパスワードの入力においてチェックしている事は、 A:空白(未入力)だとダメ←ログインボタンのクリック時にチェック B:入力文字数が8文字以上15文字以下だとOK←各テキストボックスの フォーカス喪失時にチェック C:IDとパスワードが、とあるテーブルに登録してあればOK←ログインボタンの クリック時にチェック 以上のようなチェックですと、Bの入力文字数が8文字以上15文字以下かどうか のチェックでOKでなかった場合、入力文字数が正しく入力されるまで、 キャンセルボタンを押せません。Tabキーは効かない状態になり、マウス動作でキャンセルボタンにポインタを移動できますが、使えない状態です。 AとCのチェックでひっかかった場合は、キャンセルボタンは使えます。 入力文字数が正しくない場合、各テキストボックスにフォーカスをあてた 状態を保ちつつ、キャンセルボタンのみ使用できる・・・という処理は、 可能でしょうか? どなたか、よろしければ、ご指導おねがいいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 そもそもA,Bのチェックは必要なのかなって思いました。 Cのチェックが通らなければ、先に進めないのであれば、空白も文字数も関係ないように思うのですが。。。
- Good-S15
- ベストアンサー率33% (149/439)
こんばんわ。 業務アプリをVBAで7年間プログラマとして 頑張った者です。 参考になるかわかりませんが、 ご質問の内容は、仕様でしょうか? 仕様でなければ、私的には、Bのチェックを フォーカス喪失時ではなく、 (A、C同様)ログインボタンをクリック時に 行って、ログイン画面表示時に、 任意のテキストボックスでフォーカス取得し、 ボタンはキャンセルボタンのみenableにして それ以外ボタンをunnableにすればイイと 思いますが。。。 どうでしょうか? 「ログイン」ボタン押下後、ログイン画面は Unloadメソッドか何かで、一旦、消すのでしょうか? それとも、非表示にするだけでしょうか?
補足
どうもありがとうございます!! ログインボタン押下後は、 メニュー画面を開き、 ログイン画面は非表示では なく、閉じる仕様です。。。
お礼
ありがとうございます。 おっしゃるとおりですね; ごもっともですので、 そちらのほうでも検討してみます。