コンボボックスのリストに表示するデータの設定方法
Accessのコンボボックスでリストに表示しているデータを設定する方法です。
最初はどういう構造になっているのか分からずに使いづらい印象がありましたが、慣れると簡単な設定で表示を切り替えることができます。
目次
- リストの内容
- プロパティの設定(値集合ソース、列数、列幅、連結列)
- ウィザードを使ってリストを作成
リストの内容
プロパティの設定(値集合ソース、列数、列幅、連結列)
コンボボックスのリストを作成する上で重要なプロパティは値集合ソース、列数、列幅、連結列の4つ。
例で示したようなコンボボックスを作成するには、まず、コンボボックスの値集合ソースに表示したいデータを設定します(取得先がテーブル/クエリの場合、簡単なものであればクエリビルダ―を使うと楽)。
続いて列数と列幅を設定します。
ここで重要なポイントは、表示したくない列の幅を「0cm」に設定することです。
最後に連結列を指定。
連結列にはデータベースに登録するコード(またはID)を設定するので、今回は1番目の列の「コード」を指定しています。
設定は以上です。簡単ですね。
ちなみに設定した連結列のデータをVBAで読み取る場合、コンボボックスのプロパティ「ItemData」から読み取ることができます。
For i = 0 To [cmb商品カテゴリ].ListCount - 1
Debug.Print [cmb商品カテゴリ].ItemData(i)
Next
上記の例では、連結列を「1」にした場合、商品カテゴリのコード「001」「002」「003」といったデータが出力され、連結列を「2」にした場合、商品カテゴリの名称「パソコン」「スマートフォン」「タブレット」などが出力されます。
また、選択中のデータはテキストボックスと同じように取得することができます。
Debug.Print [cmb商品カテゴリ].value