#009 コンボ/リストボックスの連結列以外の値を取得にするには? フォーム、VBA

商品リストボックスAccessのフォームのコンボボックスやリストボックスコントロールでは、[列数]プロパティをデフォルトの "1" 以外の値に設定することによって簡単に[値集合ソース]の複数の列を表示できるので、例えば商品コードと商品名の両方を確認しながらアイテムを選択できるようにしたいような場合には大変便利です。

コンボボックスやリストボックスでどの行が選択されたかを取得したい場合、単純にコントロール名を指定するだけで[連結列]プロパティに設定されている列の値が返されます。
Debug.Print リスト0
(厳密には "リスト0.Value" ですが、[Value]プロパティがコントロールのデフォルトプロパティになっているので、".Value"は付けなくも構いません)

一方、商品コードが[連結列]となっている場合に、選択された行の商品コードではなく商品名を取得したい場合があります。そのような場合には次のようにします。

Debug.Print リスト0.Column(1)

ここで、".Column(1)" が選択された行の特定の列の値を表わします。左の列から、Column(0)、 Column(1)、Column(2) というように指定します。ここでは商品名は2番目の列ですので Column(1) を使用することによって、上の画面では「ブルーベリーヨーグルト」が返されます。

| Index | Prev | Next |



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