ActiveXコントロールで上下のボタンを作成して、マウスでボタンをクリックすることにより日付や数値の値を増減させる方法を解説します。
注)ここで紹介するActiveXコントロールを使用するには、Visual
Basic 6.0をインストールする必要があります。
- Access 2000を起動して新規データベース(MyDB.mdb)を作成します。
- データベースウインドウのフォームタブをクリックしたら新規作成のボタンをクリックして、デザインビューを表示させます。
- メニューからツールボックスを表示させたら、テキストボックスのアイコン
をクリックして、受注日を入力するテキストボックス(txtOrderDate)を作成します。
- ツールボックスからコントロールの選択アイコン
をクリックします。ActiveXコントロールの一覧から、Microsoft
UpDown Control, version 6.0をクリックして受注日のテキストボックスの右側に貼り付けます。
 |
| 図1-ActiveXコントロールの一覧リスト |
 |
| 図2-受注日の右側にUpDownコントロールを貼り付けた例 |
- UpDownコントロール(ctlUpDown)をダブルクリックしてUpDownのプロパティを表示させます。スクロールタブをクリックしたら、最大を100に設定します。値、最小、スクロール幅は、デフォルト値を採用します。OKボタンをクリックしてプロパティを閉じます。
 |
| 図3-UpDownのプロパティを表示させてスクロールの値を再設定する |
- フォームのプロパティを表示させて、読み込み時のイベントにリスト1のForm_Loadのイベント処理をコピー&ペーストします。このイベント処理では、モジュールレベルのメモリ変数(mintSpinValue)と受注日を初期化します。
UpDownコントロールのChangeイベントにリスト1のctlUpDown_Changeのイベント処理をコピー&ペーストします。このイベントでは、上下のボタン(▲▼)のどちらをクリックしたか判断して、値を増減させます。
最後に、モジュールレベルのメモリ変数(mintSpinValue)をモジュールの先頭に定義します。
注)UpDownコントロールのイベント登録は、VBE(Visual Basic Editor)を起動して、イベントのコンボボックスから選択します。
| リスト1-フォームの各種イベント処理 |
Private mintSpinValue As Integer
Private Sub ctlUpDown_Change()
With Me
If .ctlUpDown.Value > mintSpinValue Then
.txtOrderDate.Value = .txtOrderDate.Value + 1
Else
.txtOrderDate.Value = .txtOrderDate.Value - 1
End If
mintSpinValue = .ctlUpDown.Value
End With
End Sub
Private Sub Form_Load()
mintSpinValue = 50
With Me
.txtOrderDate = Date
.ctlUpDown.Value = mintSpinValue
End With
End Sub
|
- フォームビューに切り替えたら、UpDownコントロールの上下のボタンをクリックして受注日が変わるか確認します。
 |
| 図4-受注日とUpDownコントロールを連動させた例 |
- フォームを frmUpDown
の名称で保存します。
|