Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Построить дерево наоборот
 
 автор: Mak&S   (25.07.2008 в 11:54)   личное сообщение
 
 

Имеется справочник материалов с ID и ParentID который позволяет реализовать многоуровневое дерево. Нужно вывести в виде дерева только те материалы которые есть в наличии. Т.е. в данном случае у меня есть инфа о листьях, по которым мне надо построить всё дерево. Может кто видел ссылки как это делать? Что мне приходит в голову - использование временной таблицы, и на её основе обычное построение TreeView. Но здесь минус - база будет пухнуть очень быстро.

  Ответить  
 
 автор: Кабан   (25.07.2008 в 12:34)   личное сообщение
 
 

почитайте "о деревьях" в сети. там полно.
вариантов реализации вашей задачи м.б. несколько.

  Ответить  
 
 автор: osmor   (25.07.2008 в 12:45)   личное сообщение
 
 

т.е. если детей нет, то эту ноду не выводить?

Запрос вернет только те узлы у которых есть дочерние (без самих дочерних узлов)


SELECT id, nameNode, idParent
FROM tblNodes
WHERE (id In (
                    SELECT idParent
                    FROM tblNodes
                    WHERE idParent<>0
                     GROUP BY tblNodes.idParent;
                  ))

  Ответить  
 
 автор: Mak&S   (25.07.2008 в 15:03)   личное сообщение
 
 

>т.е. если детей нет, то эту ноду не выводить?
>
Совершенно верно. Небольшое уточнение. В этой задаче 2 таблицы участвуют - одна tblNodes где описана принадлежность материала какой-то группе, и вторая таблица с наличием этого материала. Т.е. связав эти две таблицы по id нужно построить дерево со всеми родителями, бабушками , прадедушками потомком которых этот id является.

  Ответить  
 
 автор: osmor   (25.07.2008 в 15:07)   личное сообщение
 
 

ну вот... используйте запрос на подобии моего

  Ответить  
 
 автор: Mak&S   (25.07.2008 в 17:11)   личное сообщение
 
 

Покрутил и так и сяк - не могу получить желаемого результата с пом запросов. Утро вечера мудренее, мож к понедельнику осенит. Кстати сёдня ж день компутерного гения - так что всех с праздником!

  Ответить  
 
 автор: ДрЮня   (25.07.2008 в 13:56)   личное сообщение
 
 

можно добавить узел "Not Parent"

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList