Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1611 / 2272 ツリー ←次へ | 前へ→

【6291】ファンクションキーの使い方 ジュン 05/9/14(水) 19:41 質問[未読]
【6292】Re:ファンクションキーの使い方 TOMO 05/9/14(水) 22:42 回答[未読]
【6298】Re:ファンクションキーの使い方 ジュン 05/9/15(木) 16:28 質問[未読]
【6304】Re:ファンクションキーの使い方 TOMO 05/9/15(木) 23:41 回答[未読]
【6307】Re:ファンクションキーの使い方 ジュン 05/9/16(金) 18:04 お礼[未読]

【6291】ファンクションキーの使い方
質問  ジュン  - 05/9/14(水) 19:41 -

引用なし
パスワード
   ジュンです。 教えて下さい。

フォームのコマンドボタンを設定してクリックする方法で上手く動作している処理を マウスを使わずに ファンクションキーで同じ処理をしたいのですが上手くできません。
現在のコードと設定は以下の通りです。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'---------ファンクションキーの設定----------------
  Select Case KeyCode
      Case vbKeyF1: cmd新規_Click
      Case vbKeyF2: cmd全表示_Click
      Case vbKeyF3: cmd削除_Click
     ' Case vbKeyF4:
      Case vbKeyF5: cmdクリア_Click
      Case vbKeyF6: cmd行クリア_Click
     ' Case vbKeyF7:
     ' Case vbKeyF8:
      Case vbKeyF9: cmd登録_Click
      Case vbKeyF10: cmd伝票_Click
     ' Case vbKeyF11: cmd印刷_Click
      Case vbKeyF12: cmd終了_Click
      Case Else
        MsgBox "無効なフンクションキーです", vbOK, "キー操作"
  End Select
  KeyCode = 0
  
End Sub

Private Sub cmd新規_Click()

  sw新規 = True
  Me!出庫No..TabStop = False
  swERR = False
  Ret = Edit_Clear(1)  <−画面をクリアして、カーソルを日付にセット
  
End Sub

この状態で実行するとF5キーは実行しますが 日付を入力しようとすると上記のメッセージ(無効なフンクションキーです)が表示されキー入力が出来なくなりました。
   KeyCode = 0 このコードをコメントにするとファンクションキーが動作しません。よい解決策をお教え下さい。お願いします。

【6292】Re:ファンクションキーの使い方
回答  TOMO  - 05/9/14(水) 22:42 -

引用なし
パスワード
   ジュンさん、こんばんは。
日付を入力して「Enter」キーを押下しますと
当然Form_KeyDownが実行され、KeyCodeには
「vbKeyReturn」が入りElseになりますので、
「無効なファンクションキーです」が表示されます。
KeyCodeが「vbKeyReturn」の時の処理を考えられ
たらどうでしょうか。
尚、「無効なファンクションキー」を、はじめから
クリック、押下できないようにすればあえてメッ
セージを表示する必要もないのではと思いますが−。

キーボードから何かキーが入力されますとKeyDown
イベントが発生します。KeyCodeにはファンクション
キー以外の値が入ってくることをお忘れなく!

【6298】Re:ファンクションキーの使い方
質問  ジュン  - 05/9/15(木) 16:28 -

引用なし
パスワード
   ▼TOMO さん:
早速のお返事有難う御座います。
誠に申しわけないですが、具体的なコードの書き方を教えて頂きたいのですが。

ENTERキー以外の数字キーとか矢印キーとかファンクションキー以外はアウトです。

すみません、お願いします。

【6304】Re:ファンクションキーの使い方
回答  TOMO  - 05/9/15(木) 23:41 -

引用なし
パスワード
   ジュンさん、こんばんは。
下記でどうでしょうか?
無効なファンクションキーをコメントにせずに「KeyCode = 0」で
無効にして「Else MsgBox」、及び最後の「KeyCode = 0」の行は削除します。

日付を入力してEnterキーを押下しますとKeyDownイベントが発生し
KeyCodeにはvbKeyReturn(13)が入りますが、下記の処理では何も
行わずに処理を抜けることになります。

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'---------ファンクションキーの設定----------------
  Select Case KeyCode
      Case vbKeyF1: cmd新規_Click
      Case vbKeyF2: cmd全表示_Click
      Case vbKeyF3: cmd削除_Click
      Case vbKeyF4: KeyCode = 0
      Case vbKeyF5: cmdクリア_Click
      Case vbKeyF6: cmd行クリア_Click
      Case vbKeyF7: KeyCode = 0
      Case vbKeyF8: KeyCode = 0
      Case vbKeyF9: cmd登録_Click
      Case vbKeyF10: cmd伝票_Click
      Case vbKeyF11: cmd印刷_Click
      Case vbKeyF12: cmd終了_Click
  End Select
End Sub

【6307】Re:ファンクションキーの使い方
お礼  ジュン  - 05/9/16(金) 18:04 -

引用なし
パスワード
   ▼TOMO さん:

ありがとう御座いました。 一部に問題がありますがご指摘の通りに修正したら出来そうですので 色々とテストをやって見ます。本当にありがとうございました。

1611 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078248
(SS)C-BOARD v3.8 is Free