日期:2014-05-16  浏览次数:21121 次

ACCESS中怎样读取listbox的值?
listbox选择了几列数据,怎样读取某一列中的值?

------解决方案--------------------
--列索引从0开始,所以Column(0)表示第一列,以此类推

MsgBox Me.Lst.Column(0) & ", " & Me.Lst.Column(1) & ", " & Me.Lst.Column(2)
------解决方案--------------------
--第一列
Me.列表框控件名.Column(0)

--第二列
Me.列表框控件名.Column(1)

--第三列
Me.列表框控件名.Column(2)
------解决方案--------------------

Column 属性


在多列的组合框或列表框中,可以使用 Column 属性来引用特定的列或列与行的组合。例如使用 0 引用第一列、1 引用第二列;使用 0 引用第一行、1 引用第二行,以此类推。例如,在包含客户ID和客户名称列的列表框中,可以如下引用第二列和第五行的客户名称:

Forms!Contacts!Customers.Column(1, 4)设置

control.Column(column, row)

Column 属性使用下列设置。

设置 说明
control Control 对象,该对象代表活动的组合框或列表框控件。
column 整型值。范围从 0 到 ColumnCount 属性的设置值减 1。
row 可选,整型值。范围从 0 到 ListCount 属性的设置值减 1。


此属性设置只能通过宏或 Visual Basic 来使用。此属性设置在“设计”视图中不可用,而在其他视图中只读。

说明

可以使用 Column 属性来将组合框或列表框的内容指定到另一控件,如文本框。例如,要将 ControlSource 文本框的属性设置为列表框第二列中的值,可以使用以下表达式:

=Forms!Customers!CompanyName.Column(1)如果引用组合框或列表框中的列,而用户又没有选定,Column 属性设置将是 Null。可以使用 IsNull 函数来确定是否进行了选择,如以下示例所示:

If IsNull(Forms!Customers!Country)
Then MsgBox "No selection. "
End If注意 如果要确定组合框或列表框有多少列,可以查看 ColumnCount 属性的设置。


Column、ColumnCount 属性示例

以下示例使用 Column 属性和 ColumnCount 属性来打印列表框所选定的值:

Sub Read_ListBox()
Dim intNumColumns As Integer, inti As Integer
Dim frmCust As Form

Set frmCust = Forms!frmCustomers
If frmCust!lstCustomerNames.ItemsSelected.Count > 0 Then
' 选择了吗?
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
' 打印列数据。
Debug.Print frmCust!lstCustomerNames.Column(inti)
Next inti
Else
Debug.Print "You haven 't selected an entry in the " _
& "list box. "
End If
End Sub