
Accessのフォームでは、キーボードの矢印(↑↓)キーでは、レコード(縦方向)の移動ができず、レコード内の次のオブジェクトに移動しますが、Excelと同じ感覚で縦に移動したいときがあります。今回は、VBAを使って縦に移動する方法を解説します。
目次
キーボードの矢印(↑↓)キーの移動について
まず、Accessフォームの仕様では、レコード内の各オブジェクトのプロパティの[タブ移動順]に従って次のオブジェクトに移動します。すべてのオブジェクトへの移動が終わってから次のレコードに移動します。
通常のカーソルの移動順
VBAで矢印(↑↓)キーでの移動を記述する
それでは、ここから矢印(↑↓)キーで移動する方法を解説していきます。
キーボードイベント取得プロパティを変更する

- フォームをデザインビューで開き、左上の角をクリックします。
- プロパティシートの[イベント]タブをクリックします。
- [キーボードイベント取得]を[はい]にします。
キークリック時イベントにVBAを記述する

- フォームをデザインビューで開き、左上の角をクリックします。
- プロパティシートの[イベント]タブをクリックします。
- [キークリック時]の[…]にします。

- [コードビルダー]をクリックし、
- [OK]をクリックします。

VBAの編集画面に↑のように記述します。(コピペ用に下にも貼っておきます。)
VBA(コピペ用)
On Error goto ERR
Select Case KeyCode
Case vbKeyUP
Docmd.GoToRecord,,acPrevious
Case vbKeyDown
Docmd.GoToRecord,,acNext
Case Else
End Select
Exit Sub
ERR:
Resume Next
これで準備は整いました。フォームビューで開いて矢印(↑↓)キーで移動するか確認してみてください。
あわせて読みたい


【Access⑳】”2021″と”2010″の違い
管理人はメインPCが「Access2010」環境、サブPCが「Access2021」環境です。(普通逆だろ…。)せっかくですのでそれぞれの違いについてみていきます。 【UIの比較Access2…