Свойство Control.Selected (Access)
Используйте свойство Selected в Visual Basic, чтобы определить, выбран ли элемент. Для чтения и записи, Long.
Синтаксис
expression. Выбрано (lRow)
Выражение Переменная, представляющая объект Control .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
lRow | Обязательный | Long | Элемент в списке. Первый элемент представлен нулем (0), второй — одним (1) и т. д. |
Замечания
Свойство Selected — это отсчитываемый от нуля массив, содержащий выбранное состояние каждого элемента в списке.
Setting | Описание |
---|---|
True | Выбран элемент списка. |
False | Элемент списка не выбран. |
Это свойство доступно только во время выполнения.
Если для свойства MultiSelect элемента управления списком задано значение Нет, только для одного элемента свойство Selected может иметь значение True. Если для свойства MultiSelect элемента управления списком задано значение Simple или Extended, для любого или всех элементов свойство Selected может иметь значение True. Поле списка с множественным выбором, привязанное к полю, всегда будет иметь свойство Value , равное NULL. Для получения сведений о выбранных элементах используется свойство Selected или коллекция ItemsSelected .
Используйте свойство Selected для выбора элементов в списке с помощью Visual Basic. Например, в следующем выражении выбирается пятый элемент в списке:
Me!Listbox.Selected(4) = True
Пример
В следующем примере свойство Selected используется для перемещения выбранных элементов в списке lstSource в поле списка lstDestination . Свойство RowSourceType в списке lstDestination имеет значение Список значений, а свойство RowSource элемента управления создается из всех выбранных элементов в элементе управления lstSource. Свойство MultiSelect в списке lstSource имеет значение Расширенный. Процедура CopySelected( ) вызывается из командной кнопки cmdCopyItem .
Private Sub cmdCopyItem_Click()
CopySelected Me
End Sub
Public Sub CopySelected(ByRef frm As Form)
Dim ctlSource As Control
Dim ctlDest As Control
Dim strItems As String
Dim intCurrentRow As Integer
Set ctlSource = frm!lstSource
Set ctlDest = frm!lstDestination
For intCurrentRow = 0 To ctlSource.ListCount - 1
If ctlSource.Selected(intCurrentRow) Then
strItems = strItems & ctlSource.Column(0, _
intCurrentRow) & ";"
End If
Next intCurrentRow
' Reset destination control's RowSource property.
ctlDest.RowSource = ""
ctlDest.RowSource = strItems
Set ctlSource = Nothing
Set ctlDest = Nothing
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.