サブフォームのファンクションキーの設定


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol268

これならわかるマイクロソフトアクセス活用法
            -->サブフォームのファンクションキーの設定
              
発行者:高内 章治 2016年9月21日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】サブフォームのファンクションキーの設定

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、

「サブフォームのファンクションキーの設定」

についてお話したいと思います。




─────────────────────────────────

【02 - トピックス】: サブフォームのファンクションキーの設定

─────────────────────────────────

お客様から質問がありました。

ボタンなどのクリックを、F1やF2などのファンクションキーを使って動かしたい場合があります。

フォームの中にサブフォームがある場合は、フォームとサブフォームの両方に、VBAを作成する必要があります。
何故なのかという質問でした。

  1. まず、ファンクションキーのVBAについて説明します。

    以前もメルマガで説明しましたが、再度、説明します。

    • まず、フォームのプロパティの「キーボードイベント取得」を  「はい」に設定します。
      これをおこなわないと、フアンクションキーは動きません。

    • フォームのプロパティの「キークリック時」に次のVBAを作成します。

      以下のケースでは、「F5」「F6」「F7」「F8」の設定のみを行っています。

      *******************************

      Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

      '------ ファンクションキーの割り当て

      Select Case KeyCode
      Case vbKeyF1
      Case vbKeyF2
      Case vbKeyF3
      Case vbKeyF4
      Case vbKeyF5
      KeyCode = 0
      cmdNew_Click
      Case vbKeyF6
      KeyCode = 0
      cmdDelete_Click
      Case vbKeyF7
      KeyCode = 0
      cmdInput_Click
      Case vbKeyF8
      KeyCode = 0
      cmdClose_Click
      Case vbKeyF9
      Case vbKeyF10
      Case vbKeyF11
      Case vbKeyF12
      Case vbKeyDown
      Case vbKeyUp
      Case Else
      End Select

      End Sub

      ************************************

      設定の内容を説明します。
      ファンクションキーのF5について説明します。

      Case vbKeyF5
      F5キーを押したときの処理です。

      KeyCode = 0
      ファンクションキーを押したときに他の機能が動かないようにします。

      cmdNew_Click
      ボタンをクリックしたときの処理を動かします。

  2. サブフォームがある場合

    何故、フォームとサブフォームの両方のキークリック時にVBAが必要なのでしょうか?

    キークリックは、カーソルがあるフォームのキークリック時が動きます。
    メインのフォームにカーソルがある時に、キーを押すとメインのフォームのキークリック時が動きます。

    サブフォームにカーソルがあると、サブフォーム用のフォームのキークリック時が動きます。

    その為、両方に設定する必要があります。

    サブフォームに表示しているサブフォーム用のフォームにも、「1」と同じ設定を行います。

    • フォームのプロパティの「キーボードイベント取得」を 「はい」に設定します。
      これをおこなわないと、フアンクションキーは動きません。

    • フォームのプロパティの「キークリック時」に次のVBAを作成します。

      以下は、サブフォーム用のフォームのVBAです。

      *****************************

      Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

      '------ ファンクションキーの割り当て
      '------ サブフォームからメインのファンクションキーを動かす
      Select Case KeyCode
      Case vbKeyF1
      Case vbKeyF2
      Case vbKeyF3
      Case vbKeyF4
      Case vbKeyF5
      KeyCode = 0
      Call Forms("F_製品マスタ").cmdNew_Click
      Case vbKeyF6
      KeyCode = 0
      Call Forms("F_製品マスタ").cmdDelete_Click
      Case vbKeyF7
      KeyCode = 0
      Call Forms("F_製品マスタ").cmdInput_Click
      Case vbKeyF8
      KeyCode = 0
      Call Forms("F_製品マスタ").cmdClose_Click
      Case vbKeyF9
      Case vbKeyF10
      Case vbKeyF11
      Case vbKeyF12
      Case vbKeyDown
      Case vbKeyUp
      Case Else
      End Select

      End Sub

      ************************************

      Case vbKeyF5
      F5キーを押したときの処理です。

      KeyCode = 0
      ファンクションキーを押したときに他の機能が動かないようにします。

      Call Forms("F_製品マスタ").cmdNew_Click
      「F_製品マスタ」フォームのボタンをクリックしたときの処理を動かします。

      ●このとき注意することがあります。

      フォームにあるボタンをクリックしたときのVBAの

      Public Sub cmdNew_Click()

      は、「Public」にする必要があります。

      通常は、「Private」です。

      「Public」にすることにより、サブフォームからでも動かすことが出来ます。



参考にしてください。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

民進党は、蓮舫氏が代表になりました。
国籍問題で揺れていましたが、どうなったのでしょうか。

野田氏が、幹事長になりました。

民進党が、今後、どのような政策をおこなうかですね。

景気、社会保障、子育て、安全保障などですね。
やっぱり、政策だと思います。

批判ばっかりでは、厳しいでしょうね。


◆私がアクセスをマスターできたのは!!
http://www.sk-access.com/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、日ごろから疑問に思っていることを教えてください。
宛先はこちらへです』

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


◎「これならわかるマイクロソフトアクセス活用法」 のバックナンバー・配信停止はこちら

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?



[↑一番上へ]
[マイクロソフトアクセス活用法(メールマガジン)(ホームへ)]
14:121505

アクセス全体

VBA

SQL Server