またまた、生徒さんからの質問です。
この生徒さんは、勤務先の要請もあり、
現在、Accessを使っての業務管理システムを一緒に作っています。
大変勉強熱心で、上司も完成を楽しみにしているそうです。
「先生、ふと思ったんですが、
キーボードの任意のキーを押して、あるアクションを起こすことは
可能ですか?」
「といいますと・・・」
「たとえば、F12キーを押すと、フォームが閉じるとか、
F11キーを押すと、新規レコードに移動するとか・・・」
「それは、もちろん可能ですよ。
操作性も向上しますよね。それでは、やってみましょうか。」
「はい」
任意のフォームを開きます。
以下が、今回のサンプルです。
Access2007ですが、以前のバージョンでも大丈夫です。
F業者マスタという名前のフォームです。

それでは、デザインビューに切り替えて、
フォームのプロパティを表示します。
下の図の赤マルの部分をクリックすると
フォームのプロパティが表示されます。

イベントタブの中から、「キークリック時」を選択します。
すると、右端にボタンが出てきますので、それをクリック。

「ビルダの選択」ダイアログボックスが表示されたら、
「コードビルダ」を選択して、OKをクリックします。

Visual Basic Editorが起動します。
以下のように入力してください。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF12 Then
DoCmd.Close
End If
End Sub

今回は、F12キーが押された時に、フォームを終了するという内容の
コードとなります。
さて、ここで重要なことがあります。
もう一つ、大事な設定があるのですよ!!!
フォームのプロパティで、
「キーボードイベントの取得」を「はい」にすることです!

それでは、フォームビューに切り替えましょう。
F12キーを押してみてください。
ほら、閉じたでしょう?
なお、今回は、F12キーを押したときという設定なので、
先ほどの「キーボードイベントの取得」を「いいえ」のままにしておくと、
以下のように、「名前を付けて保存」ダイアログボックスが表示されてしまいます。しかも、フォームは閉じません!!!
お気をつけください。

「へえ、今日もいいことを勉強しました(^^)」
だい
この生徒さんは、勤務先の要請もあり、
現在、Accessを使っての業務管理システムを一緒に作っています。
大変勉強熱心で、上司も完成を楽しみにしているそうです。
「先生、ふと思ったんですが、
キーボードの任意のキーを押して、あるアクションを起こすことは
可能ですか?」
「といいますと・・・」
「たとえば、F12キーを押すと、フォームが閉じるとか、
F11キーを押すと、新規レコードに移動するとか・・・」
「それは、もちろん可能ですよ。
操作性も向上しますよね。それでは、やってみましょうか。」
「はい」
任意のフォームを開きます。
以下が、今回のサンプルです。
Access2007ですが、以前のバージョンでも大丈夫です。
F業者マスタという名前のフォームです。

それでは、デザインビューに切り替えて、
フォームのプロパティを表示します。
下の図の赤マルの部分をクリックすると
フォームのプロパティが表示されます。

イベントタブの中から、「キークリック時」を選択します。
すると、右端にボタンが出てきますので、それをクリック。

「ビルダの選択」ダイアログボックスが表示されたら、
「コードビルダ」を選択して、OKをクリックします。

Visual Basic Editorが起動します。
以下のように入力してください。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF12 Then
DoCmd.Close
End If
End Sub

今回は、F12キーが押された時に、フォームを終了するという内容の
コードとなります。
さて、ここで重要なことがあります。
もう一つ、大事な設定があるのですよ!!!
フォームのプロパティで、
「キーボードイベントの取得」を「はい」にすることです!

それでは、フォームビューに切り替えましょう。
F12キーを押してみてください。
ほら、閉じたでしょう?
なお、今回は、F12キーを押したときという設定なので、
先ほどの「キーボードイベントの取得」を「いいえ」のままにしておくと、
以下のように、「名前を付けて保存」ダイアログボックスが表示されてしまいます。しかも、フォームは閉じません!!!
お気をつけください。

「へえ、今日もいいことを勉強しました(^^)」
だい

アクセスですね!
うちの奥さんもエクセル、ワードは勉強したけど、我が家のPCにアクセスが入っていないので勉強できない・・・
と前に言っていました^^;
僕にはあまり縁がありませんが・・・
小松菜まきましたか?
一週間くらいで芽が出てくると思いますよ^^
しかも、けっこう高いんですよね。
機会があったら、Accessにも触れてみてください。
これからも、よろしくお願いしますね。