#251 | データシートのフォームをESCキーで閉じるには? | フォーム、VBA | |
単票形式や表形式のフォームであれば、[閉じる]ボタンを配置し、さらにそのボタンに「キャンセルボタンプロパティ→"はい"」の設定をすれば、ESCキーでそのフォームを閉じるようにすることができます。しかし、データシート形式のフォームの場合は、たとえ[閉じる]ボタンをデザイン上で配置しても、フォームビューの状態では表示されず、キャンセルボタンの設定は機能しません。 そこで、"キークリック時"イベントを利用して、直接、キーボードからのキー入力をチェックするようにします。そして、押されたキーがESCキーであれば、そのフォームを閉じるようにします。それには、以下のイベントプロシージャをそのままフォームのモジュールに貼り付けてください。 ※なお、この機能を使うためには、フォームの「キーイベント取得」プロパティを"はい"に設定しておく必要があります。そうしないと、現在フォーカスのあるテキストボックスでの"キークリック時"イベントだけが発生し、フォームの"キークリック時"イベントは発生しません。 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'キークリック時 If KeyCode = vbKeyEscape Then 'ESCキーでこのフォームを閉じる DoCmd.Close acForm, Me.Name End If End Sub |
|||
|
Copyright © T'sWare All rights reserved |