ACCESS2000のフォームのことで質問します。
(実際のフォームは項目が複雑なので、簡単な例にして説明します。)
フォーム上にテキストボックスTB1とTB2があり、共に必須入力項目です。
TB1_Exit内でisnull(TB1)のときMsgboxでエラー表示後TB1.setfocusしているのですがTB2にタブ順で移動してしまいます。
また、フォーム開いてすぐに閉じるときにもTB1_Exitが働いてしまい上記エラーが発生してしまいます。
質問1>Exitイベントから自分自身にSetfocusする方法はありますか?
質問2>フォームを閉じるときはTB1_Exitをさせない方法はありますか?
質問3>これらの問題はTB1の入力チェックをTB1_Exitでしていることが問題なのだと思うのですが、他にどういう方法がありますか?チェックさせるためのボタンを用意してそのClickイベントでチェックさせるしかないでしょうか。
早急に完成させなければならず、大変困っております。どうかよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
MSAccess2000での開発経験は少ないですが、MSAccess97までなら全バージョンで
経験があります。Accessとは結構長いお付き合いです。
質問1>Exitイベントから自分自身にSetfocusする方法はありますか?
残念ながら無いはずです。
質問2>フォームを閉じるときはTB1_Exitをさせない方法はありますか?
これも方法が無いはずです。
質問3>これらの問題はTB1の入力チェックをTB1_Exitでしていることが問題なのだと思うのですが、他にどういう方法がありますか?チェックさせるためのボタンを用意してそのClickイベントでチェックさせるしかないでしょうか。
そのとおりです。
なお、ヘルプを見ると各項目の BeforeUpdate イベントでチェック
できるように見えますが、実際には Cancel を True にしても
素通りしてしまいますので、強制チェック機能として使用できません。
※Access95まではヘルプどおりに使用できました。
よって、登録ボタンなどや、 連結フォームでの レコードの BeforeUpdate
イベントでチェックするしか方法はありません。
以上
回答ありがとうございます。
経験の長い方からの回答で、大変参考になりました。
やはり思った通り、できないんですね・・・そうだとは思ったんですが残念。
「連結フォームでのレコードのBeforeUpdate」は???ですが、全部の入力が済んでからチェック用のボタンを押し、その中で判定させることにしました。
明日さっそくそのようにやってみます。
どうもありがとうございました。
No.2
- 回答日時:
コントロールの数がそんなに無ければ
Sub TB1_Check()
If IsNull(Me.TB1) Then
Me.TB1.SetFocus
Exit Sub
End If
End Sub
という関数を作り、他のコントロールのSetFocus時にTB1_Check関数を実行すれば希望の動作になると思います。
回答ありがとうございます。
>他のコントロールのSetFocus時にTB1_Check関数を実行
TB2_GotFocus内でTB1_Checkを実行・・・ということと解釈しましたが。
とりあえず#1の方のお礼に書いた方法に、今日1日かけて変更しました。
でも有効な方法だと思いますので、参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクロールバーをVBAで操作したい
-
Access2016について
-
Access サブフォームでの選択行...
-
Access 複数フォームを...
-
ソフトの製品コードを知りたい
-
Accessのコンボボックスでリス...
-
Accessでデータを更新したらそ...
-
アクセスを使用してITFコー...
-
ファイルメーカーで一部のレコ...
-
音楽をDVDから抽出したいのです...
-
ACCESSフォーム入力後の確定
-
PDFファイル/抽出許可され...
-
チェックボックスでレコードの...
-
X-Ripperというフリーウェアに...
-
前のレコードの値を自動で入れたい
-
Accessでフィルタの実行アクシ...
-
ACCESS2000 抽出されたレコー...
-
Accessのコンボボックスの値が...
-
Accessでフォームに自動入力し...
-
ACCESS チェックボック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのComboboxでマウスのスク...
-
スクロールバーをVBAで操作したい
-
実行エラー'424' ????
-
ACCESS フォームのサイズ調整
-
access 最大化した時の画面の...
-
エクセル上に画像を貼り付けて...
-
エクセルのVBAでマクロ実行...
-
Access2000 フォーム表示位置が...
-
Accessで任意のフォーム以外直...
-
マクロボタンが勝手に飛び回る
-
ACCESSアクションマクロでイン...
-
access 背面は最大画面、前面...
-
ACCESS VBEが勝手に起動します
-
Access起動時の設定について
-
「問題が発生したため、MicroSo...
-
エクセルで、抽出したデータだ...
-
Access サブフォームでの選択行...
-
ACCESSでVBAから選択クエリの抽...
-
ACCESS 複数のフォームから同一...
-
前のレコードの値を自動で入れたい
おすすめ情報