#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved