次の方法で共有


ComboBox.BoundColumn プロパティ (Access)

コンボ ボックスから選択すると、 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 プロパティは [はい] に設定されます。

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 つの列の幅を指定します。 最初の列の幅を 0in に設定すると、最初の列はコンボ ボックスに表示されません。

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 のサポートおよびフィードバックを参照してください。