#640 オプションボタンの選択値で簡単に分岐処理する方法 フォーム、VBA

Accessのフォームに「オプショングループ」コントロールを配置し、その中に「オプションボタン」コントロールをいくつか挿入していくと、その『オプション値』プロパティには自動的に1、2、3、・・・・というように連番が振られます。


このオプション値はオプショングループと連動しています。ひとつめのコントロールがユーザーによって選択されたときは「オプショングループ」の値(Valueプロパティ)は「1」となります。ふたつめのコントロールが選択されたときは「2」となります。

このようなとき、もしプログラムでオプショングループの値によってシンプルな処理分岐を行うような場合、『Choose関数』を使うことで簡単に記述することができます。

Choose関数では、最初の引数の値が「1」である場合は2番目の引数の値を、「2」である場合は3番目の引数の値を、さらに同様に「3」のとき、「4」のときというように、いくつも引数(=返り値となる値)を列挙することができます。

■Choose関数の構文

返り値 = Choose(index , choice-1 [, choice-2 , ... [, choice-n ]] )

index:1から選択肢の数までの値になる数式やフィールド名を指定
choice:選択肢の1つを含む値や式、フィールド名などを指定


しかも最初の引数の値が1のとき、2のとき・・・・というように1から始まる整数で判断されますので、これはオプション値プロパティに設定されている1、2、3、・・・・という連番をそのまま適用して扱えるということになります。

たとえば次の例では、オプショングループの値が変更されたとき、すなわち別のオプションボタンがクリックされたとき、その選択に応じてテキストボックスに表示する文字列を切り替えています。オプショングループのコントロール名が「オプション選択」、テキストボックスが「選択値」です。

Private Sub オプション選択_AfterUpdate()
'[オプション選択]オプショングループの更新後処理

  Me!選択値 = Choose(Me!オプション選択, "選択肢1", "選択肢2", "選択肢3") & "が選択されました"

End Sub


実行例:


| Index | Prev | Next |



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