全部显示

ItemsSelected 属性

       

使用 ItemsSelected 属性可以返回隐藏 ItemsSelected 集合的只读引用。该隐藏集合可用于访问多选列表框控件中选定行的数据。

expression.ItemsSelected

expression   必需。返回“Applies To”列表中的一个对象的表达式。

说明

ItemsSelected 集合与其他集合不同之处在于,它是 Variant 型的集合,而不是对象的集合。每个 Variant 是一个整型的索引,指向列表框或组合框中选定的行。

ItemsSelected 集合与 Column 属性或 ItemData 属性结合使用,可以从列表框或组合框中选定的行检索数据。可以使用 For Each...Next 语句列出 ItemsSelected 集合。

例如,如果窗体上有一个“雇员”列表框,则可以列出 ItemsSelected 集合,并使用控件的 ItemData 属性来返回列表框中每个选定行的绑定列值。

提示   要启用列表框中行的多选功能,请将该控件的 MultiSelect 属性设为“简单”或“展开的”。

ItemsSelected 集合没有方法,只有两个属性:CountItem 属性。

示例

下面的示例打印“联系人”窗体上“名称”列表框中每个选定行的绑定列值。若要试用该示例,请创建列表框,根据需要设置其 BoundColumn 属性并将 MultiSelect 属性设为“简单”或“展开的”。然后再切换到“窗体”视图,在列表框中选择几行,并运行以下代码:

Sub BoundData()
    Dim frm As Form, ctl As Control
    Dim varItm As Variant

    Set frm = Forms!Contacts
    Set ctl = frm!Names
    For Each varItm In ctl.ItemsSelected
        Debug.Print ctl.ItemData(varItm)
    Next varItm
End Sub

下一个示例使用相同的列表框控件,但打印列表框中每个选定行每一列的值,而不只是绑定列中的值。

Sub AllSelectedData()
    Dim frm As Form, ctl As Control
    Dim varItm As Variant, intI As Integer

    Set frm = Forms!Contacts
    Set ctl = frm!Names
    For Each varItm In ctl.ItemsSelected
        For intI = 0 To ctl.ColumnCount - 1
            Debug.Print ctl.Column(intI, varItm)
        Next intI
        Debug.Print
    Next varItm
End Sub