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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Запрос?
 
 автор: час   (12.12.2009 в 17:38)   личное сообщение
10 Кб.
 
 

Имеется таблица CLIENT_CARDS_TBL
там как для тривью имеются данные о клиентах
1 карточка - над ней никого под ней 2,4,7
2 карточка - над ней 1 , под ней 5 и 6
и т. д.

Возможно ли создать запрос.
Где условие отбора например = карта № 2
результат показ всех карт этой ветки.
а именно карты 2, 3, 5, 6, 8, 9
===========================
Или всё же не возможно.........

  Ответить  
 
 автор: osmor   (13.12.2009 в 09:39)   личное сообщение
 
 

Ты имеешь ввиду всех подчиненных, даже те которые подчинены не на прямую а через детей?
Обычно использую доп. поле содержащее полный путь к данному узлу состоящий из кодов всех родителей.
т.е.
для узла 2
1~2
для твоего случая у узла 5 это поле будет равно
1~2~5
для узла 6
1~2~6
что бы отобрать все узлы подчиненные узлу 2 вместе с потомками потомков делаешь запрос с like или left (на выбор)
where left(FullPath,len("1~2")) = "1~2")
идея понятна?

  Ответить  
 
 автор: час   (13.12.2009 в 11:10)   личное сообщение
 
 

идея - понятна
================
делаем доп поле FullPath - туда ...туда мы ........
в момент создания детей записываем родословную, пополняя уже имеющиеся данные с разделителем например "~".
===========================================
затем делаем запрос с условием по этому полю - чтоба первое звено цепи было = условию отбора.....
=======================================
А что будет если условие отбора -=5

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

Условие отбора должно быть равно полному пути того узла для которого отбираем всех подчиненных.

  Ответить  
 
 автор: час   (13.12.2009 в 13:13)   личное сообщение
 
 

....

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