Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SET RELATION TO / 7 сообщений из 7, страница 1 из 1
27.04.2007, 09:26
    #34491651
shanton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET RELATION TO
Создаю связь между двумя курсорами:
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, не помагает. В чём тут ошибка? Большое спасибо!
...
Рейтинг: 0 / 0
27.04.2007, 09:48
    #34491707
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET RELATION TO
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
Код: plaintext
1.
2.
3.
SELECT lvChild
INDEX ON parentid TAG id
SELECT lvRoot
SET RELATION TO id INTO lvChild ADDITIVE
Но я бы лично сделал новый курсор и его использовать (не знаю какой у тебя VFP)
Код: plaintext
1.
2.
3.
SELECT <выбрать нужные поля из lvRoot>, <выбрать нужные поля из lvChild> ;
FROM lvRoot, lvChild ;
WHERE lvRoot.id = lvChild.parentid ;
INTO CURSOR <имя нового курсора>
...
Рейтинг: 0 / 0
27.04.2007, 10:00
    #34491747
shanton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET RELATION TO
Я обычно тоже так делаю, запросом в новый курсор. Тут решил попробовать relation, думаю для чего выполнять запрос если связь выберает нужные строки.
У меня VFP9.0 SP1
...
Рейтинг: 0 / 0
27.04.2007, 10:03
    #34491763
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET RELATION TO
Пробовал поменять имя TAG-а ?
...
Рейтинг: 0 / 0
27.04.2007, 10:26
    #34491864
shanton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET RELATION TO
Пробовал не помагает. Наверное сделаю через запрос, не буду мучится.
...
Рейтинг: 0 / 0
28.04.2007, 11:22
    #34494886
FoXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET RELATION TO
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 (имя тага)

и вся проблема..
...
Рейтинг: 0 / 0
28.04.2007, 12:22
    #34495102
shanton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SET RELATION TO
Спасибо! Сделал уже через запрос. Разве
SELECT lvChild
INDEX ON parentid TAG tPid
не делает индекс активным? Но всё может быть, нужно проверить.
Счас празники, от работы отдыхем. После празников.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SET RELATION TO / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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