【AccessVBA】ボタンをファンクションキーへ割り当てるコード

フォームで入力しているときにここでファンクションキーが使えたら楽だなぁ…って思うことありませんか??

私は見積書で項目を入力するにあたって、商品名や顧客名を検索したりするのに、いちいちマウスに持ち替えてボタンを押すのはめんどくさいな…って思うんです。

そこで、ボタンはボタンとしても使うんですが、ファンクションキーも割り当てしました。

今回はボタンをファンクションキーへ割り当てるコードをご紹介します。

最初に使用するフォームのフォームプロパティの『すべて』の一番下にある『キーボードイベント取得』プロパティを『はい』にします。

さらりと書いていますが、コレかなり重要です!!これをやらないと動きません。

左上の■の位置でクリックするとフォーム全体のプロパティになります。

『フォーム』と表示になっていればOKです。

それではコードです。

ボタンをファンクションキーへ割り当てるコード
Private Sub 得意先コード_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyF6 Then

Me.得意先コード = ""

DoCmd.OpenForm "得意先検索窓"

Forms!得意先検索窓!得意先検索.SetFocus

End If

End Sub


このコードは例なんですが、得意先コード記入欄にカーソルがきた時にF6を押すと『得意先検索窓』というフォームが開くようになっています。

動作はキークリック時になります。キークリックはKeyDownになるんですね。

その下の IF KeyCode = vbkeyF6 Then がファンクションのコードになります。

あとはそこに条件(動き)を当てはめます。

コードの意味

F6を押すと得意先コードは空欄(Nullでもかまいません)になって、得意先検索窓フォームを開いて、『得意先検索』というテキストボックスにセットフォーカス(カーソルを持っていく)

けっこう使える機能なので、ぜひ使ってみてください。

※ところが初起動時のみエラーが発生することが判明。

対処の仕方はこちらの記事を見てください。

カテゴリー:
関連記事