ComboBox.Column property (Access)
You can use the Column property to refer to a specific column or column and row combination in a multiple-column combo box or list box. Read-only Variant.
expression.Column (Index, Row)
expression A variable that represents a ComboBox object.
|Index||Required||Long||A long integer that can range from 0 to the setting of the ColumnCount property minus one.|
|Row||Optional||Variant||An integer that can range from 0 to the setting of the ListCount property minus 1.|
Use 0 to refer to the first column, 1 to refer to the second column, and so on. Use 0 to refer to the first row, 1 to refer to the second row, and so on. For example, in a list box containing a column of customer IDs and a column of customer names, you could refer to the customer name in the second column and fifth row as:
You can use the Column property to assign the contents of a combo box or list box to another control, such as a text box. For example, to set the ControlSource property of a text box to the value in the second column of a list box, you could use the following expression.
If the user has made no selection when you refer to a column in a combo box or list box, the Column property setting will be Null. You can use the IsNull function to determine if a selection has been made, as in the following example.
If IsNull(Forms!Customers!Country) Then MsgBox "No selection." End If
To determine how many columns a combo box or list box has, you can inspect the ColumnCount property setting.
The following example uses the Column property and the ColumnCount property to print the values of a list box selection.
Public Sub Read_ListBox() Dim intNumColumns As Integer Dim intI As Integer Dim frmCust As Form Set frmCust = Forms!frmCustomers If frmCust!lstCustomerNames.ItemsSelected.Count > 0 Then ' Any selection? intNumColumns = frmCust!lstCustomerNames.ColumnCount Debug.Print "The list box contains "; intNumColumns; _ IIf(intNumColumns = 1, " column", " columns"); _ " of data." Debug.Print "The current selection contains:" For intI = 0 To intNumColumns - 1 ' Print column data. Debug.Print frmCust!lstCustomerNames.Column(intI) Next intI Else Debug.Print "You haven't selected an entry in the " _ & "list box." End If Set frmCust = Nothing End Sub
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.