powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / relation
3 сообщений из 3, страница 1 из 1
relation
    #32760299
paule
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые жители этого форума. Кто понимает или кому просто не лень объясните пожалуйста мне механизм следующего (а то голова отказывается это понимать):

Существует таблица T1 в ней куча полей, одно из них p1, числовое.
в этом поле код професии: 1,2,3,4,5,6,7 .... и так до 80. Ну соответственно в других полях: расшифровка, и ещё куча инфы!
эта таблица соединяется с помощью команды set relation (да кстати фокс у меня FPD 2.5) ещё с четырьмя таблицами Т2, Т3, Т4, Т5, которые в свою очередь соединяются ещё с несколькими таблицами.

Во всех перечисленных таблицах тоже есть поле p1, через него и происходит связь:
use T1 order tag p1 in 1
use T2 order tag p1 in 2
use T3 order tag p1 in 3
use T4 order tag p1 in 4
use T5 order tag p1 in 5

select 1
set relation to p1 into T2 ADDITIVE
set relation to p1 into T3 ADDITIVE
set relation to p1 into T4 ADDITIVE
set relation to p1 into T5 ADDITIVE

Так вот ситуация такая, что в таблице Т1 в поле p1 код встречается один раз, тоесть выглядит так:

1 а
2 б
3 с
4 д
....

а вот с другими таблицами дело обстоит немного по другому:
у них в поле p1 значения повторяются:

Т2:

1 а
1 п
1 ппп
2 р
3 рр
3 ррр
3 а
....

Т3

1 о
1 р
1 к
1 кк
2 п
2 а
3 к
4 п


Думаю как бы суть понятна?

Та кот объясните мне пожалуйста как курсор буде перемещаться в этих таблицах?
При перемещении курсота в таблице Т1, он по идее должен переместиться в остальных таблицах на поле со значением в поле p1 равным значению в таблице Т1. Тока вот в остальных таблицах таких записей не одна а несколько. Как по ним будет курсор перемещаться???
Механизм догнать не могу!


В основном мне нужно это знать, чтобы понять как формируется report!
Report состоит из трех колонок:
в первой значение поля р1 из таблицы Т1
во второй колонке все значения из колонки p2 таблица Т2 в которых поле p1 = T1.p1
в третьей колонке должны быть все значения поля p3 таблицы Т3 . для которых выполняется Т3.р1 = Т1.р1

Если таблицы просто соединены связями, то возможно я укажу всего три поля и в бъявлении значения каждого напишу:
Т1.р1 Т2.р2 Т3.р3

Получится ли такое:

1 а о
п р
ппп к
ккк



В общем , кому не лень, объясните пожалуйста!!!!
...
Рейтинг: 0 / 0
relation
    #32760300
paule
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
концовка отформатировалась не удачно, и то что должно получиться не соответствует тому что нужно :))

в общем в первой колонке : 1
во второй:
а
п
ппп
в третьей:
о
р
к
кк
...
Рейтинг: 0 / 0
relation
    #32760683
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь, ты настроил связь один-ко-многим там, где это нужно? Т.е. дал кроме SET RELATION еще и команду SET SKIP?

Ну, а для Report, все будет достаточно просто. Записи в "главных" таблицах как бы "размножаться".

Это проще показать, чем расписывать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create cursor cur1 (f1 N( 10 ), f2 c( 10 ))
insert into cur1 (f1,f2) values ( 1 ,'begin')
create cursor cur2 (f1 N( 10 ), f2 c( 10 ))
index on f1 tag f1
insert into cur2 (f1,f2) values ( 1 ,'begin1')
insert into cur2 (f1,f2) values ( 1 ,'begin2')
create cursor cur3 (f1 N( 10 ), f2 c( 10 ))
index on f1 tag f1
insert into cur3 (f1,f2) values ( 1 ,'begin3')
insert into cur3 (f1,f2) values ( 1 ,'begin4')
insert into cur3 (f1,f2) values ( 1 ,'begin5')

select cur1
set relation to f1 into cur2, f1 into cur3
set skip to cur2,cur3

BROWSE fields cur1.f1, cur2.f1, cur2.f2, cur3.f1, cur3.f2

В отчете, вместо символов "звездочек" будет отображаться содержимое соответсвующей строки главной таблицы.

В данном случае, у таблицы cur1 образовалорсь как-бы 3 записи с кодом 1

Хотя, для таких сложных отчетов, лучше создать временную таблицу для печати и не заморачиваться со связями.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / relation
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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