Свойство Control.ItemsSelected (Access)
Используйте свойство ItemsSelected , чтобы вернуть ссылку только для чтения на скрытую коллекцию ItemsSelected . Эта скрытая коллекция может использоваться для доступа к данным в выбранных строках элемента управления списком с несколькими выборками.
Синтаксис
expression. Элементы выбранные
Выражение Переменная, представляющая объект Control .
Замечания
Коллекция ItemsSelected отличается от других коллекций тем, что представляет собой коллекцию Variants, а не объектов. Каждый вариант Variant — это целочисленный индекс, ссылающийся на выбранную строку в списке или поле со списком.
Используйте коллекцию ItemsSelected в сочетании со свойством Column или ItemData для получения данных из выбранных строк в списке или поле со списком. Вы можете получить список коллекции ItemsSelected с помощью параметра For Each... Следующая инструкция.
Например, если у вас есть список Сотрудники в форме, вы можете получить список коллекции ItemsSelected и использовать свойство ItemData элемента управления, чтобы вернуть значение привязанного столбца для каждой выбранной строки в списке.
Чтобы включить множественный выбор строк в списке, задайте для свойства MultiSelect элемента управления значение Простой или Расширенный.
Коллекция ItemsSelected имеет два свойства, свойства Count и Item , а также нет методов.
Пример
В следующем примере выводится значение привязанного столбца для каждой выбранной строки в списке "Имена " в форме "Контакты ". Чтобы попробовать этот пример, создайте поле списка и присвойте свойству 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
В следующем примере используется один и тот же элемент управления list box, но выводит значения каждого столбца для каждой выбранной строки в списке, а не только значения в связанном столбце.
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
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.