#148 テキストボックスの値を↑・↓キーで増減させる方法 フォーム、VBA

フォームのテキストボックスコントロールに、次のような"KeyDown/キークリック時"イベントプロシージャを割り当てると、スピンボタンのような感覚で、↑・↓キーによってテキストボックスの数値を増減させることができます。

次の例では、"txtData"という名前のテキストボックスを使い、↑・↓キーによって、現在の値をそれぞれ+1・−1するようにしています。もし、増減させる値を10単位にしたいような場合には、定数 cintUpDownValue の値を10にします。
Private Sub txtData_KeyDown(KeyCode As Integer, Shift As Integer)

  '1回当たりの増減値
  Const cintUpDownValue As Integer = 1

  With Me!txtData
    If KeyCode = vbKeyUp Then
      '↑キーで値を増加
      .Value = Nz(.Value) + cintUpDownValue
    ElseIf KeyCode = vbKeyDown Then
      '↓キーで値を減少
      .Value = Nz(.Value) - cintUpDownValue
    End If
  End With

End Sub

※"KeyDown/キークリック時"イベントプロシージャには、「Shift」という引数も用意されています。この値を調べることによって、キーがクリックされたとき、Shiftキー・Ctrlキー・Altキーも同時に押されていたかどうかも知ることができます。これを応用することによって、「Shift+↑」キー操作では数値を10増やし、「Shift+Ctrl+↑」キー操作では100増やすといったこともできるようになります。「Shift」という引数はビットマスクによってその値を調べます。詳細はAccessのオンラインヘルプをご覧ください。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved