HOME > 即効テクニック > AccessVBA > ユーザーインターフェース > キーボードから入力された文字を取得する

即効テクニック

ユーザーインターフェース

キーボードから入力された文字を取得する

(Access 2000/2002)
フォームやコントロールにフォーカスがある状態で、ANSI文字コードに対応するキーまたはキーの組み合わせを押して離したときに発生するイベント"OnKeyPress/キー入力時"を利用すると、キーボードから入力された1文字を取得することができます。
サンプルは、フォームを新規に作成して、フォームのプロパティのイベントタブにある、「キー入力時」にイベントプロシージャを指定して、作成したプロシージャです。

●サンプル●
Private Sub Form_KeyPress(KeyAscii As Integer)
    
    MsgBox Chr(KeyAscii)
    
End Sub

フォームをフォームビューで表示して、キーボードから文字を入力すると、入力した文字がメッセージボックスに表示されます。
Chr関数は、指定した文字コードに対応する文字を示す文字列型(String)の値を返します。
次のサンプルでは、Hex関数を使って、イミディエイトウィンドウに指定した値を16進数で表した文字列型(String)を表示しています。

●サンプル●
Private Sub Form_KeyPress(KeyAscii As Integer)
    
    Debug.Print "入力した文字は「" & _
                Chr(KeyAscii) & " = " & _
                Hex(KeyAscii) & _
                "」です。"

End Sub

イミディエイトウィンドウには、次のように表示されます。

入力した文字は「a = 61」です。
入力した文字は「b = 62」です。
入力した文字は「c = 63」です。
入力した文字は「A = 41」です。
入力した文字は「B = 42」です。
入力した文字は「C = 43」です。