MS ACCESS - 如何检测 Form.KeyDown 或 KeyUp 事件上的箭头键

MS ACCESS - How to detect arrow keys on Form.KeyDown or KeyUp events

我想在表单上检测 VBA 中的左右箭头键 为了将 Form.KeyDown 或 KeyUp 事件用于 X 目的。

我试过这个:

Private Sub Form_KeyDown()
If KeyCode = vbKeyRightArrow Then
KeyCode = 0 'Suppress normal effect
On Error GoTo exitsub 'ActiveControl causes a runtime error if none is active
DoCmd.GoToRecord , , acNext
elseif KeyCode = vbKeyLeftArrow Then
DoCmd.GoToRecord , , acPrevious
KeyCode = 0 'Suppress normal effect
On Error GoTo exitsub 'ActiveControl causes a runtime error if none is active


End If
exitsub:
End Sub

这当然行不通.. 帮助

您需要将 Form.KeyPreview property 设置为 True

否则只有当前控件可以看到 keydown 事件。

但请注意,如果您在此表单上有可编辑的文本框等,您的用户可能会讨厌这种行为。他们在编辑时需要 left/right 箭头键。