ACCESSのフォームはデータシートビュー形式です。
F_単価表という名前です。
仕入_11 | 売上_12 | 利益_13 |
---|---|---|
align left | align right | align center |
100 | 150 | 50 |
:-- | --: | :--: |
align left | align right | align center |
仕入 売上 利益とあります。 |
仕入を入力したときに、同じ列の売上にカーソルが移動するのではなく
その下の仕入にカーソルが移動するように設定したいのです。
オプションのクライアント設定で、変更するとすべての設定が変更されると不便なのです。
Private Sub 仕入_11_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then ' Enterキーが押された場合
On Error Resume Next ' エラー防止(最終レコード時など)
DoCmd.GoToRecord , , acNext ' 次のレコードに移動
KeyCode = 0 ' Enterキーの既定動作を無効化
End If
End Sub
「キーボードイベント取得」プロパティを「はい」に変更してます。
ですが、思い通りの設定にはなりません。
どこを改修すればいいでしょうか?
よろしくお願いいたします。
フォームの形は、アップロードしたものです。
フォームの形は、アップロードしたものです。
「仕入」以降のテキストボックス(売上、利益)の「タブストップ」プロパティを「いいえ」にすればどうですか。
ただし、売上、利益 へはキー操作では移動できなくなりますので、マウスクリックする必要があります。
ちなみに、Enterキーを入力したときのみ次のレコードへ移動したいということなら、
VBAですることになりますが、イベントはKeyDownではなくKeyUpが適切です。
>>VBAですることになりますが、イベントはKeyDownではなくKeyUpが適切です。
hatena様ありがとうございました