私は、数字を繰り返し入力したり、Enterキーを押したり、スクリプトを実行させたりするためのテキストボックスを持つAccessフォームを持っています。スピードのために、フィールドはDoStuff()
が完了した後にフォーカスを保持する必要があります。私の.setfocusはなぜ無視されますか?
しかし、私はDoStuff()
が実行されていると確信していますが、フォーカスは常にタブ順の次のフィールドに移動します。それはMe.MyFld.SetFocus
が無視されているようです。
DoStuff()
を実行した後、このフィールドにどのように焦点を当てておくのですか?
Private Sub MyFld_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
DoStuff
Me.MyFld.SetFocus
End If
End Sub
より適切なイベントをしてみてください - テキストボックス – 4dmonster
のAfterUpdateあなたは何かがあなたの 'SetFocus'メソッドの後に実行されているかどうかを確認するために、デバッガでステップ実行しようとしたことがありますか? – techturtle
@ 4dmonster、別のイベントを使用している場合、現在のキー押しがEnterキーかどうかをどのように知ることができますか? 'AfterUpdate'にはそれが含まれておらず、' OnKeyPress'は通常の文字であり、Enterキーではありません(または私が読んだ) – PowerUser