Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Reports / 17 сообщений из 17, страница 1 из 1
16.12.2004, 14:14
    #32830396
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Чего-то немогу догнать...
Есть 2 курсора, я их проиндексировал

SELECT ....
INDEX ON cur_firm.code TO cur_firm
SELECT ....
INDEX ON cur_serv.code TO cur_serv
SET RELATION TO code INTO cur_firm

затем хочу посмотреть их в отчете (прилагается) но неполучатеся...
может кто подскажет что я делаю не так.
...
Рейтинг: 0 / 0
16.12.2004, 14:25
    #32830422
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
А ты часом не перепутал

SELECT ....
INDEX ON cur_serv.code TO cur_serv
SELECT ....
INDEX ON cur_firm.code TO cur_firm
SET RELATION TO code INTO cur_serv
...
Рейтинг: 0 / 0
16.12.2004, 14:55
    #32830502
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Parent cursor - cur_firm
chield - cur_serv
связь один-много
...
Рейтинг: 0 / 0
16.12.2004, 14:58
    #32830509
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Ну так а вязал то ты наоборот.
Я тебе селекты и переставил.
...
Рейтинг: 0 / 0
16.12.2004, 14:59
    #32830513
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
И релайшин подправил
...
Рейтинг: 0 / 0
16.12.2004, 15:13
    #32830542
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
и как это я сам прохлопал...
теперь в отчет попадает только первая запись из cur_firm
...
Рейтинг: 0 / 0
16.12.2004, 15:22
    #32830564
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Укажи в Data Grouping что ты группируешь по cur_firm.code, т.к. поле code есть в обеих таблицах нужно как то определиться :)
...
Рейтинг: 0 / 0
16.12.2004, 15:26
    #32830582
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
что-то еще не так...
я все изменил - но всеравно в отчет попадает только 1-я запись из cur_firm и 1-я запись из cur_serv
...
Рейтинг: 0 / 0
16.12.2004, 15:28
    #32830590
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Тогда выложи кусок таблиц, чтобы можно было посмотреть вживую.
...
Рейтинг: 0 / 0
16.12.2004, 16:26
    #32830752
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
да там ничего необычного нету.
создай два курсора cur_firm (code i,name c(50)) cur_serv (code i, date d,topic c(50), price n(9,2))
...
Рейтинг: 0 / 0
16.12.2004, 16:31
    #32830770
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
В том то и дело, что у меня все кажет путем, а у тебя - нет.
...
Рейтинг: 0 / 0
16.12.2004, 16:52
    #32830835
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT firm.code,firm.name,firm.city,firm.director,firm.phone_g,firm.date,firm.type FROM firm WHERE &prFilt ORDER BY code ASC INTO CURSOR cur_firm NOFILTER READWRITE 
INDEX ON cur_firm.code TO cur_firm

SELECT serv.date,serv.topic,serv.price,serv.theme,serv.code,serv.type,RECNO() AS rec FROM serv WHERE serv.code = cur_firm.code HAVING BETWEEN(serv.date,d_from,d_to) INTO CURSOR cur_serv NOFILTER READWRITE 
INDEX ON cur_serv.code TO cur_serv

REPORT FORM SYS(2003)+"\REPORTS\serv" PREVIEW
...
Рейтинг: 0 / 0
16.12.2004, 17:09
    #32830901
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
А ты проверял ЧТО у тебя в курсоры отобралось?
...
Рейтинг: 0 / 0
16.12.2004, 17:12
    #32830910
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
да, в проекте в гридах все видно.
там простые условия, по дате, по названию фирмы и т.д.
также отчет должен работать и по всей табилице (без отбора)
...
Рейтинг: 0 / 0
16.12.2004, 17:19
    #32830944
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Вот ради эксперимента открой исходные таблицы с алиасами курсоров, повяжи их и запусти отчет га предпросмотр. Что будет?
...
Рейтинг: 0 / 0
16.12.2004, 17:39
    #32831011
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
Команда SET RELATION организует связь вида один-к-одному. Чтобы организовать связь вида один-ко-многим необходимо дать еще команду SET SKIP. Т.е. в твоем случае это будет что-то вроде:

Код: plaintext
1.
2.
3.
4.
SELECT cur_serv
INDEX ON code TAG code
SELECT cur_Firm
SET RELATION TO code INTO cur_serv
SET SKIP cur_serv

Для организации связи индекс нужен только в подчиненной таблице. Индекс в главной таблице обеспечит нужный порядок следования.

Хотя, если таблицы - это результат SQL-запросов, то логичнее сделать одну общую таблицу, связывающую cur_serv и cur_firm и не мудрить с Relation.
...
Рейтинг: 0 / 0
16.12.2004, 18:53
    #32831145
Alex Sheff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reports
блин, как же это я о SET SKIP TO забыл... стыдно стало аж покраснел...
Большое спасибо Владимиру
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Reports / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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