Accessのフォームで数値を入力するテキストボックスを設置した場合、[+]と[-]のボタンで数値を増減させることができると便利です。
クリックで[1]ずつ増減し、ボタンを押し続けると連続して増減できるように設定します。
マクロビルダーとコードビルダーの両方で解説します。
フォームのテキストボックスとコマンドボタン
テーブルを基にフォームを作成します。
ここでは、[T_予約注文]を選択して、[作成]タブの[フォーム]グループから[フォーム]をクリックして作成します。
フォーム
フォームを作成して、1レコードずる情報を入力できるようにします。
以下のようなフォームが作成されます。
コントロールの大きさを調整し、フォームヘッダーのタイトル名も編集して、[F_予約注文]として保存します。
参考コントロール[定食メニュー]は、コンボボックスでプルダウンメニューから選択できるようにしています。
-
コンボボックスとリストボックスのカスタマイズ(プロパティの設定)
フォームにコンボボックスやリストボックスを使用すると、一覧のリストの中から選択できるようになります。 作成方法はいくつかありますが、コンボボ ...
コマンドボタンの設置
[F_予約注文]をデザインビューで開いて、コマンドボタンをテキストボックス[注文数]の右側に2個設置します。
コマンドボタンを設置するときに、[コマンドボタンウィザード]が表示されたら[キャンセル]ボタンをクリックして閉じます。
プロパティの表示と設定
それぞれのプロパティで[+]と[-]を表示します。
コマンドボタンを選択して、[フォームデザイン]タブの[ツール]グループにある[プロパティシート]をクリックして、プロパティを表示します。
キーボードから[F4]キーを押すと、プロパティを表示できます。
以下は、[+]ボタンです。プロパティの[その他]タブでコマンドボタンの[名前]と[標題]を設定します。
[標題]は[書式]タブ、[名前]は[その他]タブにもあります。
[標題]とは、コマンドボタンに表記される名前のことです。コマンドボタンをクリックして編集してもかまいません。
[名前]とは、コマンドボタンの名前です。
2つのコマンドボタンは、同じ大きさにします。
[プラス]と[マイナス]ボタンを選択して、プロパティの[書式]タブの[幅]、[高さ]、[上位置]を揃えておきます。
テキストボックス[注文数]の名前は、[注文数]です。
マクロビルダーで設定
マクロビルダーを使った設定です。
初心者には、マクロビルダーの方がおすすめです。
[+]プラスボタンの設定
[プラス]ボタンを選択してプロパティを表示します。
[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]ダイアログボックスが表示されますので、[マクロビルダー]を選択して[OK]ボタンをクリックします。
[マクロデザイン]ウィンドウが表示されます。
[マクロデザイン]タブの[表示/非表示]グループから[すべてのアクションを表示]をクリックします。
[新しいアクションの追加]の▼ボタンをクリックして、[値の代入]を選択します。
マクロアクション[値の代入]は、[すべてのアクションを表示]をクリックしないと表示されませんので気を付けてください。
マクロアクション[値の代入]の[アイテム]のテキストボックスに以下を入力します。
[式]のテキストボックスには、以下を入力します。
フォーム[F_予約注文]のテキストボックス[注文数]の数値を[1]増やすという意味です。
次の[新しいアクションの追加]の▼ボタンをクリックして、一覧から[最新の情報に更新]を選択します。
以下のようになります。
[マクロデザイン]ウィンドウの[上書き保存]をクリックした後、[閉じる]ボタンをクリックして閉じます。
[イベント]タブの[クリック時]には、[埋め込みマクロ]と表示されます。
[-]マイナスボタンの設定
[マイナス]ボタンもプロパティのクリック時イベントで設定します。
[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択して、[マクロデザイン]ウィンドウを表示します。
[新しいアクションの追加]の▼ボタンをクリックして、[If]を選択します。
マクロアクション[If]のテキストボックスに以下を入力します。テキストボックス[注文数]が[1]より大きければ、という意味になります。
すぐ下にある[新しいアクションの追加]の▼ボタンをクリックして、[プラス]ボタンと同じように設定します。
マクロアクション[値の代入]は、[すべてのアクションを表示]をクリックしないと表示されませんので注意してください。
マクロアクション[値の代入]の[式]には、以下のように入力します。フォーム[F_予約注文]のテキストボックス[注文数]の数値を[1]減らすという意味です。
マクロアクション[最新の情報に更新]も忘れないように設定します。
マクロアクションが以下のようになっているのを確認したら、上書きして閉じます。
[イベント]タブの[クリック時]には、[埋め込みマクロ]と表示されます。
フォームビューに切り替えて動作を確認
[ホーム]タブの[表示]をクリックして、[フォームビュー]に切り替えます。
キーボードから[F5]キーを押してもフォームビューに切り替えできます。
[プラス]ボタンをクリックすると、1ずつ増えて、[マイナス]ボタンをクリックすると、1ずつ減少します。
コードビルダーで設定
VBAで設定する方法です。
[+]プラスボタンの設定
[プラス]ボタンを選択してプロパティを表示します。
[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]ダイアログボックスが表示されますので、[コードビルダー]を選択して[OK]ボタンをクリックします。
以下のように入力します。
テキストボックス[注文数]の数値を[1]増やして、画面を更新するという意味になります。
Me.注文数.Value = Me.注文数 + 1
Me.Repaint
VBEは、[閉じる]ボタンをクリックして閉じます。
[イベント]タブの[クリック時]には、[イベントプロシージャ]と表示されます。
[-]マイナスボタンの設定
[マイナス]ボタンもプロパティのクリック時イベントで設定します。
[ビルダーの選択]ダイアログボックスで[コードビルダー]を選択して、[VBE]ウィンドウを表示します。
そして、以下を入力します。
テキストボックス[注文数]が[1]より大きい場合、[予約数]の数値を[1]減らして、画面を更新するという意味になります。
If 注文数.Value > 1 Then
Me.注文数.Value = Me.注文数 - 1
Me.Repaint
End If
VBEウィンドウを閉じると、[イベント]タブの[クリック時]には、[イベントプロシージャ]と表示されます。
フォームビューに切り替えて動作を確認してみてください。
ボタンを押し続けると連続して実行できるように設定
[+]プラスボタンと[-]マイナスボタンを押し続けた時に数値が連続して増減するようにします。
プロパティの[その他]タブにある[自動繰り返し]を[はい]にします。ダブルクリックで変更できます。
[自動繰り返し]は、フォームでコマンドボタンが押されている間、マクロやイベントプロシージャを繰り返し実行するかどうかを指定します。
既定は[いいえ」です。フォームのコマンドボタンコントロールにのみ設定可能です。
参考Excelでは、スピンボタンを使って数値を増減させることができます。
-
スピンボタン(フォームコントロール)を設置してクリックで数値を増減
Excelのフォームコントロールの中には、さまざまな部品が用意されています。 スピンボタンを使用すると、クリックで数値を増減できます。 数値 ...