powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SET RELATION TO
7 сообщений из 7, страница 1 из 1
SET RELATION TO
    #34491651
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, не помагает. В чём тут ошибка? Большое спасибо!
...
Рейтинг: 0 / 0
SET RELATION TO
    #34491707
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
SET RELATION TO
    #34491747
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обычно тоже так делаю, запросом в новый курсор. Тут решил попробовать relation, думаю для чего выполнять запрос если связь выберает нужные строки.
У меня VFP9.0 SP1
...
Рейтинг: 0 / 0
SET RELATION TO
    #34491763
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал поменять имя TAG-а ?
...
Рейтинг: 0 / 0
SET RELATION TO
    #34491864
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал не помагает. Наверное сделаю через запрос, не буду мучится.
...
Рейтинг: 0 / 0
SET RELATION TO
    #34494886
FoXXX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
SET RELATION TO
    #34495102
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! Сделал уже через запрос. Разве
SELECT lvChild
INDEX ON parentid TAG tPid
не делает индекс активным? Но всё может быть, нужно проверить.
Счас празники, от работы отдыхем. После празников.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SET RELATION TO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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