Microsoft Access Club >AccessTips >このページ >次頁 < 前項  サイト内検索


帳票フォームでキーボードの上下キー(↑↓)でレコードを移動させる方法 : AccessTips120



下記のような帳票形式では、レコード間の移動が大変です。キーボードにある上下左右のキーを用いても、前後のコントロールにしか移動できません。

今回、上下キーで前後のレコードに移動させる方法をご紹介します。

キークリック時イベント

フォームを開いた状態で何かキーボート操作を割り当てたい場合、キークリック時イベントを利用します。

サンプルプロシージャ

下記のプロシージャを記述します。

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    ' キーボードの↑↓でレコード間を移動します。
    ' 先頭、最後尾のレコードでこれを操作すると、エラー番号2105が発生します。
    ' この場合は、エラーを無視します。
    On Error GoTo Err発生
    
    If KeyCode = vbKeyUp Then DoCmd.GoToRecord , , acPrevious   '前レコードへ
    If KeyCode = vbKeyDown Then DoCmd.GoToRecord , , acNext     '次レコードへ
    Exit Sub
Err発生:
    'エラー番号2105であればエラーを無視します。
    If Err.Number = 2105 Then
        Resume Next
    Else
        MsgBox Err.Number & vbNewLine & _
               Err.Description & vbNewLine & _
               "予期せぬエラーが発生しました。"
        End
    End If
End Sub

キーボードイベント取得 プロパティ

フォームが立ち上がった状態で、キーボードからアクションを受け取るためには、キーボードイベント取得プロパティを有効(はい/True)にしておく必要がありますので、下記のプロシージャを記述します。

サンプルプロシージャ
Private Sub Form_Load()

    'キーボードイベント取得プロパティを True に切り替えます。
    Me.KeyPreview = True

End Sub
フォームプロパティ操作

プロシージャで設定する方法以外、下図のようにフォームプロパティで はい に変更する方法もあります。 

2&\]2[\/f[wE

関連ページ

2004/01/17

ページの先頭へ 前ページへ戻る

 


帳票フォームでキーボードの上下キー(↑↓)でレコードを移動させる方法 : AccessTips120


 

-Microsoft Access Club-