Поделиться через


Свойство 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 и обратная связь.