次の方法で共有

Access2010表形式のフォームでのSetFocusについて

Anonymous
2014-12-01T13:36:19+00:00

初めまして。

Access2010で表形式のフォームを作成しました。

テキストボックスの入力でチェックをかけたいので、イベントの「更新後処理」でチェックを行い、エラー時はメッセージボックスを表示後、SetFocusで自分に戻る、としたのですが、自分に戻ることなく次の項目にフォーカスが移ってしまいます。

確かに表形式だと各行に同じ名前のテキストボックスがあるので、うまくいかないのかな、と思います。

表形式のフォームのテキストボックスでエラーチェックを行ない、エラー時に自分にフォーカスが戻る方法はありますでしょうか。

よろしくお願いします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2014-12-01T15:49:59+00:00

表形式かどうかは関係ありません。

この場合、イベントの発生順序は下記のようになります。

テキストボックスの「更新後処理」

 ↓

テキストボックスの「フォーカス喪失時」

 ↓

テキストボックスの「フォーカス喪失後」

 ↓

次のテキストボックスの「フォーカス移動時」

つまり、テキストボックスの「更新後処理」のときには、まだ、自分自身にフォーカスがある状態です。

そこで、自分に戻る処理を記述しても無意味ですよね。

このような入力チェックは、テキストボックスの更新前処理で行います。

入力チェックエラー時に、

Cancel = True

としてイベントを中止します。これで、次に発生するフォーカス移動のイベントは発生しません。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-12-02T00:21:38+00:00

    返信をありがとうございます。

    ご指摘の通りに変更したところ、解決しました!

    イベントの動きをもっと勉強しなければいけませんね。

    ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません