コンボ ボックスから選択すると、 BoundColumn プロパティによって、コントロールの値として使用する列の値が Microsoft Access に指示されます。 コントロールがフィールドに連結されている場合、 BoundColumn プロパティで指定された列の値は、 ControlSource プロパティで指定されたフィールドに格納されます。 読み取り/書き込みが可能な Long です。
構文
式。BoundColumn
式ComboBox オブジェクトを表す変数。
注釈
"BoundColumn/連結列" プロパティの設定値は次のとおりです。
| Setting | 説明 |
|---|---|
| 0 | 列の値ではなく 、ListIndex プロパティの値が現在のレコードに格納されます。 最初の行の ListIndex プロパティ値は 0、2 番目の行は 1 というように続きます。 Access によって、リスト ボックスまたはコンボ ボックスのリスト ボックス部分からアイテムが選択されたときに ListIndex プロパティが設定されます。 BoundColumn プロパティを 0 に設定し、コントロールの ListIndex プロパティ値を使用すると、たとえば数値列を格納するだけの場合に役立ちます。 |
| 1 以上 | (既定値は 1)指定した列の値がコントロールの値になります。 コントロールがフィールドに連結されている場合、この設定は現在のレコードのそのフィールドに保存されます。 BoundColumn プロパティに ColumnCount プロパティの設定より大きい値を設定することはできません。 |
テーブル フィールドの場合、DisplayControl プロパティがコンボ ボックスまたはリスト ボックスに設定されているフィールドのテーブル デザイン ビューの [フィールド プロパティ] セクションの [ルックアップ] タブでこのプロパティを設定できます。
Visual Basic では、"BoundColumn/連結列" プロパティの下限値は 0 で、上限値は "ColumnCount/列数" プロパティの設定値です。値を設定するには、数式または数値を使用します。
コンボ ボックスの左端に表示される列 (コンボ ボックスの ColumnWidths プロパティの設定が 0 ではない左端の列) には、フォーム ビューまたはレポートのコンボ ボックスのテキスト ボックス部分に表示されるデータが含まれます。 " BoundColumn /連結列" プロパティは、選択時にテキスト ボックスまたはコンボ ボックスのリストからどの列の値が格納されるかを示します。 したがって、表示されるデータとは異なる値をコントロールの値として格納できます。
注:
連結された列がコントロールの左端に表示される列と異なる場合 (または BoundColumn プロパティを 0 に設定した場合)、 LimitToList プロパティは Yes に設定されます。
Access では、0 から始まる数値を使用して Column プロパティ内の列を参照します。 つまり、最初の列は式 Column(0) を使用して参照され、2 番目の列は式 Column(1) を使用して参照されます。 ただし、 BoundColumn プロパティでは、列を参照するために 1 から始まる数値が使用されます。 つまり、 BoundColumn プロパティが 1 に設定されている場合、式 Column(0) を使用してその列に格納されている値にアクセスできます。
AutoExpand プロパティが [はい] に設定されている場合、入力時にコンボ ボックスの一覧の値と一致する値がコンボ ボックスのテキスト ボックス部分に自動的に入力されます。
例
次の例は、別の列を表示しながら、1 つの列にバインドされたコンボ ボックスを作成する方法を示しています。 ColumnCount プロパティを 2 に設定すると、RowSource プロパティによって指定されたデータ ソースの最初の 2 列が cboDept コンボ ボックスに表示されます。 BoundColumn プロパティを 1 に設定すると、コンボ ボックスの値を調べるときに最初の列に格納されている値が返されるようになります。
ColumnWidths プロパティは 2 つの列の幅を指定します。 最初の列の幅を 0 インチに設定すると、最初の列はコンボ ボックスに表示されません。
Private Sub cboDept_Enter()
With cboDept
.RowSource = "SELECT * FROM tblDepartments ORDER BY Department"
.ColumnCount = 2
.BoundColumn = 1
.ColumnWidths = "0in.;1in."
End With
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。