Укажите индекс столбца выбранных данных в ItemBox для извлечения при итерации по выбранным элементам. - PullRequest
0 голосов
/ 10 июня 2019

В основном есть ItemBox с тремя столбцами в форме доступа. Я хочу получить конкретные столбцы при выполнении итерации по выбранным элементам, но у меня возникают трудности при этом.

Function GetSelectedValues(famList As Variant) As Collection

    Dim famListColl As New Collection

    ' Loop through all of the selected surveys
    For Each fam In famList.ItemsSelected
        Debug.Print (fam) ' prints the index number of the selected item
        Debug.Print (famList.ItemData(fam)) ' this prints out the last columns value for the selected item
        famListColl.Add famList.ItemData(fam)
    Next

    Set GetSelectedValues = famListColl

End Function

Если я попытаюсь сделать следующее, я получу Run-time error '424': Object required error:

Debug.Print(fam.Column(1))
Debug.Print(famList.ItemData(fam).Column(1))

Это несколько работает, но только неопределенно отображает значения первого выбранного элемента (оно не повторяется):

Debug.Print(famList.Column(1))

Так что мне нужно как-то объединить два, но изо всех сил пытаться понять это.

Спасибо за помощь!

1 Ответ

0 голосов
/ 10 июня 2019

Наткнулся на этот пост , который помог мне разобраться.Я сомневаюсь, что понял бы это иначе.Выглядит так:

Debug.Print (famList.Column(2, fam))

Итак, для меня все решение выглядит следующим образом:

Function GetSelectedValues(famList As Variant) As Collection

    Dim famListColl As New Collection

    ' Loop through all of the selected surveys
    For Each fam In famList.ItemsSelected
        famListColl.Add famList.Column(1, fam)
        famListColl.Add famList.Column(2, fam)
    Next

    Set GetSelectedValues = famListColl

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...