VBA, MS Access MS Access в примерах

TreeView - Поиск по дереву

По материалам MAUG : http://www.arimsoft.ru/msaccess/rindex.htm

Eugene wrote 11/04/2001 :
Как сделать поиск по дереву TreeView и в случае успешного поиска выделить эту запись
У каждого узла дерева (Node) есть свойство Key
которое можно использовать для идентификации этого узла, например
Set objNode = Дерево.Nodes.Add(, , Ключ, Текст)
здесь будет добавлен узел с ключом из переменной Ключ и надписью из переменной Текст

Чтобы теперь выделить эту запись в дереве надо написать

With Дерево.Nodes(Ключ)
   .EnsureVisible
   .Selected = True
End With

По моему при работе с данными это идеальный вариант - в качестве ключей подходят значения ключевого поля таблицы (если они числовые, то надо обязательно преобразовать их в текстовую строку, начинающуюся на букву)
Если-же надо рыться именно в текстах узлов (не знаю зачем, но может надо), то обрабатываем всю коллекцию Nodes. Это может выглядеть приблизительно так:

Dim objNode as Node
for each objNode in Дерево.Nodes
   If objNode.Text = "Ищу это"
   objnode.EnsureVisible
   objnode.Selected = True
exit for
end if
Next objNode
Назад ToTop
L.E. 25.10.2022
Рейтинг@Mail.ru