Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 SET RELATION TO  [new]
shanton
Member

Откуда: Украина г. Хмельницкий
Сообщений: 628
Создаю связь между двумя курсорами:
lvChild (id i, parentid i)
lvRoot (id i, name c(75), imageid i, tbl_id i, tbl c(100))

SELECT lvChild
INDEX ON parentid TAG tPid
SELECT lvRoot
SET RELATION TO id INTO lvChild ADDITIVE

В результате, когда двигаюсь по строкам lvRoot в lvChild ситуация не изменяется, отображаются все строки а курсор стоит на последней записи. Пробовал передергивать GO TOP, не помагает. В чём тут ошибка? Большое спасибо!
27 апр 07, 09:26    [4077067]     Ответить | Цитировать Сообщить модератору
 Re: SET RELATION TO  [new]
Владимир СА
Member

Откуда:
Сообщений: 7882
shanton
Создаю связь между двумя курсорами:
lvChild (id i, parentid i)
lvRoot (id i, name c(75), imageid i, tbl_id i, tbl c(100))

SELECT lvChild
INDEX ON parentid TAG tPid
SELECT lvRoot
SET RELATION TO id INTO lvChild ADDITIVE

В результате, когда двигаюсь по строкам lvRoot в lvChild ситуация не изменяется, отображаются все строки а курсор стоит на последней записи. Пробовал передергивать GO TOP, не помагает. В чём тут ошибка? Большое спасибо!

Наверное имя TAG надо задать Id
SELECT lvChild
INDEX ON parentid TAG id
SELECT lvRoot
SET RELATION TO id INTO lvChild ADDITIVE
Но я бы лично сделал новый курсор и его использовать (не знаю какой у тебя VFP)
SELECT <выбрать нужные поля из lvRoot>, <выбрать нужные поля из lvChild> ;
FROM lvRoot, lvChild ;
WHERE lvRoot.id = lvChild.parentid ;
INTO CURSOR <имя нового курсора>
27 апр 07, 09:48    [4077199]     Ответить | Цитировать Сообщить модератору
 Re: SET RELATION TO  [new]
shanton
Member

Откуда: Украина г. Хмельницкий
Сообщений: 628
Я обычно тоже так делаю, запросом в новый курсор. Тут решил попробовать relation, думаю для чего выполнять запрос если связь выберает нужные строки.
У меня VFP9.0 SP1
27 апр 07, 10:00    [4077291]     Ответить | Цитировать Сообщить модератору
 Re: SET RELATION TO  [new]
Владимир СА
Member

Откуда:
Сообщений: 7882
Пробовал поменять имя TAG-а ?
27 апр 07, 10:03    [4077315]     Ответить | Цитировать Сообщить модератору
 Re: SET RELATION TO  [new]
shanton
Member

Откуда: Украина г. Хмельницкий
Сообщений: 628
Пробовал не помагает. Наверное сделаю через запрос, не буду мучится.
27 апр 07, 10:26    [4077491]     Ответить | Цитировать Сообщить модератору
 Re: SET RELATION TO  [new]
FoXXX
Guest
shanton
Создаю связь между двумя курсорами:
lvChild (id i, parentid i)
lvRoot (id i, name c(75), imageid i, tbl_id i, tbl c(100))

SELECT lvChild
INDEX ON parentid TAG tPid
SELECT lvRoot
SET RELATION TO id INTO lvChild ADDITIVE

В результате, когда двигаюсь по строкам lvRoot в lvChild ситуация не изменяется, отображаются все строки а курсор стоит на последней записи. Пробовал передергивать GO TOP, не помагает. В чём тут ошибка? Большое спасибо!


помоему вы забыли активировать индекс (таг)
после INDEX ON parentid TAG tPid
нужно добавить команду:
set index on tag (имя тага)

и вся проблема..
28 апр 07, 11:22    [4082948]     Ответить | Цитировать Сообщить модератору
 Re: SET RELATION TO  [new]
shanton
Member

Откуда: Украина г. Хмельницкий
Сообщений: 628
Спасибо! Сделал уже через запрос. Разве
SELECT lvChild
INDEX ON parentid TAG tPid
не делает индекс активным? Но всё может быть, нужно проверить.
Счас празники, от работы отдыхем. После празников.
28 апр 07, 12:22    [4083285]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить