Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Мольба о помощи... / 3 сообщений из 3, страница 1 из 1
09.03.2006, 12:12
    #33589291
Arisha78
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мольба о помощи...
Понимаете, программеры очень заняты, а задачка такая:
Системка на VFP8.0 и SQL.
Есть справчник подразделений трех уровневый по полю SUB:
верхний уровень = sub=0,
средний уровень = sub=item верхнего уровня,
нижний уровень = sub=item среднего уровня.

Есть факсовая функция которая заполняет курсор по указанным полям в таблице: FULL_TNS(справочник назначений.kod_код подразделения).
справочник назначений.kod_подразделения=справочник подразделений.item нижнего уровня.

Пока справочник подразделений был одноуровневый все нормально заполнялось, а теперь нужна возможность выбора всех по верхнему уровню, т.е. в FULL_TNS(справочник назначений.kod_подразделения) нужно добавить двойную чтоли ссылку на SUB, а как?

Заранее благодарна....
...
Рейтинг: 0 / 0
09.03.2006, 14:56
    #33590070
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мольба о помощи...
Arisha78Понимаете, программеры очень заняты, а задачка такая:
Системка на VFP8.0 и SQL.
Есть справчник подразделений трех уровневый по полю SUB:
верхний уровень = sub=0,
средний уровень = sub=item верхнего уровня,
нижний уровень = sub=item среднего уровня.

Есть факсовая функция которая заполняет курсор по указанным полям в таблице: FULL_TNS(справочник назначений.kod_код подразделения).
справочник назначений.kod_подразделения=справочник подразделений.item нижнего уровня.

Пока справочник подразделений был одноуровневый все нормально заполнялось, а теперь нужна возможность выбора всех по верхнему уровню, т.е. в FULL_TNS(справочник назначений.kod_подразделения) нужно добавить двойную чтоли ссылку на SUB, а как?

Заранее благодарна....
Не вижу проблемы... Только посидеть и подумать....
В общем, алгоритм таков:
1. Задать ID верхнего уровня
2. Выбрать в курсор все подразделения у которых ID-родителя=заданный ID
3. Скопировать данные во временную таблицу с указанием уровня в иерархии
4 Использовать курсор как источник ID для нового запроса
4.1. Выбрать в курсор все подразделения у которых ID-родителя=любой ID из источника ID
4.2. Если данные в курсоре отсутствуют - завершить цикл
4.3. Иначе
4.3.1 Скопировать данные во временную таблицу с указанием уровня в иерархии
4.3.2 Использовать курсор как источник ID для нового запроса и перейти к п.4.1
...
Рейтинг: 0 / 0
10.03.2006, 14:28
    #33592831
Peisov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мольба о помощи...
Можно и так.
Но, по-поему, было бы красивее склепать процедурку в SQL-е.
Ежли это MS SQL -бросьте структуру таблички, попробуем ...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Мольба о помощи... / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]