Access VBAでShiftキー、Ctrlキー、Altキーが押されたかどうか知るには、OnKeyDownイベントのShiftパラメータで取得できます。
Shiftキーを調べるには、acShiftMask 定数との論理積で調べます。
Ctrlキーを調べるには、acCtrlMask 定数との論理積で調べます。
Altキーを調べるには、acAltMask 定数との論理積で調べます。
フォームに、コマンドボタンのようにフォーカスがあるコントロールがある場合、「キーボードイベント取得」プロパティを「はい」にしないと、
OnKeyDownイベントが発生しません。
実行Accessフォーム
Shiftキー + Ctrlキー + P を押した場合の画面
■ Access VBA 実行コード例
Option Compare Database
Option Explicit
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim tkey As String
'Shiftキーが押されたかどうか
If (Shift And acShiftMask) > 0 Then
tkey = tkey & "[Shift]"
End If
'Ctrlキーが押されたかどうか
If (Shift And acCtrlMask) > 0 Then
tkey = tkey & "[Ctrl]"
End If
'Altキーが押されたかどうか
If (Shift And acAltMask) > 0 Then
tkey = tkey & "[Alt]"
End If
ラベル0.Caption = tkey & " " & Chr(KeyCode)
End Sub