Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2007)
Enterキー、Tabキーを押した後の動作
投稿日時: 18/10/20 16:05:05
投稿者: あん

Accessのオプション設定の詳細設定のEnterキーを押した時の動作を次のフィールドにしています。
 
フォームにサブフォームを配置していて、
サブフォームでは次のレコードへ移動させたく、
また、メインのフォームでは次のフィールドに移動する、
この動作をコードにするにはどうしたらよろしいでしょうか?
 
フォーカス取得時・取得後・喪失時・喪失後などのイベントに
Application.SetOption "Move After Enter", 1 (もしくは2)
を記述していますが、うまくいきません。
 
よろしくおねがいします。

回答
投稿日時: 18/10/20 21:15:31
投稿者: hatena
投稿者のウェブサイトに移動

プション設定では、enterキーを押した時の動作を「次のフィールド」にしておいて、
サブフォームのフォームプロパティで「キーボードイベントの取得」を「はい」にしておいて、
「キークリック時」のイベントプロシージャを下記のように設定すればどうでしょう。
 

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    Case vbKeyReturn
        KeyCode = 0
        On Error Resume Next
        DoCmd.GoToRecord , , acNext
    End Select
End Sub

投稿日時: 18/10/22 14:50:13
投稿者: あん

 hatena様
お教えいただいたコードで、理想の動作ができました。
 
キークリック時のイベントを利用することは思いつきませんでした。
新しい発見をありがとうございます。
 
解決しました!