powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Формирование отчета из трех таблиц?
15 сообщений из 15, страница 1 из 1
Формирование отчета из трех таблиц?
    #33352187
100gram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, как мне сформировать отчет из данных из трех таблиц (одна parent и две child). Установка связей в Data Environment почему-то не работает.
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33352193
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100gramЗдравствуйте!
Подскажите, как мне сформировать отчет из данных из трех таблиц (одна parent и две child). Установка связей в Data Environment почему-то не работает.
1. Можно сделать SELECT-SQL получить CURSOR и его показывать в отчете.
2. Сформировать Local View, если оформлена б.д., и его использовать для отчета.
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33352363
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит , не работает установка связей ?
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33352686
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100gramЗдравствуйте!
Установка связей в Data Environment почему-то не работает.
Так может индексов нет необходимых ?
Если нет и не хочется (или не можется) создавать, то тогда SELECT ... INNER (LEFT) JOIN ...
С уважением, Алексей.
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33353745
100gram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Индексы есть. Пробовал устанавливать связи в data environment отчета, ругается на циклические ссылки. Убрал их, связи, естественно, не работают.

Владимир СА1. Можно сделать SELECT-SQL получить CURSOR и его показывать в отчете.
подскажите, пожалуйста, как именно это сделать. То есть курсор я создаю, но как на лету сформировать из него отчет, не понимаю.

Спасибо.
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33354349
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100gramИндексы есть. Пробовал устанавливать связи в data environment отчета, ругается на циклические ссылки. Убрал их, связи, естественно, не работают.
1. Можно сделать SELECT-SQL получить CURSOR и его показывать в отчете.
подскажите, пожалуйста, как именно это сделать. То есть курсор я создаю, но как на лету сформировать из него отчет, не понимаю.
Как раз второй способ для меня более правильный (по крайне мере меньше мороки):
2. Сформировать Local View, если оформлена б.д., и его использовать для отчета.
Правильно сформированная БД - это большой путь к быстому построению проекта. Лично я любой проект начинаю с построения БД, таблиц, индексов, связей, триггеров. Т.е. на этом этапе идет полное осмысление задачи. А уж потом при построении форм и отчетов строю в БД Local View (как параметризированные так и нет). А напрямую таблицы стараюсь неиспользовать.
Что по первому пункту.
1. Можно сделать SELECT-SQL получить CURSOR и его показывать в отчете. Тут больше мороки. Придется создавать отчет, в него кидать поля, а в них прописывать поля от курсора, причем в DE этого курсора невидно. Определять тип поля в отчете придется вручную. Вот здесь и пойдет морока. Но в принципе постоить можно.
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33356386
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Владимир!

> Тут больше мороки

Для этого полученный курсор сбрасывают во временый dbf - его уже помещают в
DE нового отчёта, потом строят сам отчёт, dbf из DE убирают и всё... И
быстро и наглядно и опечаток меньше :)

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33356452
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Hi Владимир!
> Тут больше мороки
Для этого полученный курсор сбрасывают во временый dbf - его уже помещают в DE нового отчёта, потом строят сам отчёт, dbf из DE убирают и всё... И быстро и наглядно и опечаток меньше
Hi, Igor Korolyov!
Согласен. Но тогда лучше SELECT-SQL направлять сразу INTO TABLE <My_table> поместить его в DE, затем все как у Вас, а после исполнения отчета удалять <My_table>.
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33356650
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно вообще без таблиц и DE. Просто кидаешь в отчет нужные названия поля из будующего курсора а потом

select * ;
from table1 inner join table2 on table1.id=table2.id_table1;
order by table1.field1;
into cursor q_data

report form my_report.frx preview
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33358962
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Владимир!

Есть существенная разница между использованием реальной DBF на этапе
проектирования отчёта, и использованием её-же при РАБОТЕ программы. Первое
удобно и хорошо - второе - обычно ведёт к большим проблемам. Т.е. ПОСЛЕ
создания отчёта dbf выкидывается, DE чистится, а в сам отчёт - в
DE.BeforeOpenTables например - (или в код ДО вызова отчёта, если он не с
приватной сессией) прописывается SELECT ... INTO CURSOR

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33359019
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov...второе - обычно ведёт к большим проблемам . Т.е. ПОСЛЕ создания отчёта dbf выкидывается, DE чистится, а в сам отчёт - в DE.BeforeOpenTables например - (или в код ДО вызова отчёта, если он не с приватной сессией) прописывается SELECT ... INTO CURSOR То же согласен. Может как раз я и зря указал это направление в начале топика:
1. Можно сделать SELECT-SQL получить CURSOR и его показывать в отчете.Мне показалось что у 100gram БД нет , поэтому и начал с этого направления. Но и его негрех опробовать.
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33364522
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Владимир!

Создавать курсоры можно и не имея БД. Более того - даже не имея dbf-ов
вполне можно создавать и использовать курсоры.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33365390
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Igor Korolyov !
Создавать курсоры можно и не имея БД. Более того - даже не имея dbf-ов
вполне можно создавать и использовать курсоры.Я так понимаю, что создавать курсоры на базе уже созданных курсоров. Или что-то другое???
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33365451
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир САHi Igor Korolyov !
Создавать курсоры можно и не имея БД. Более того - даже не имея dbf-ов
вполне можно создавать и использовать курсоры.Я так понимаю, что создавать курсоры на базе уже созданных курсоров. Или что-то другое???Да нет же, просто:
Код: plaintext
1.
2.
create cursor ddd (dd d)
?justpath(dbf())
use
Это - пример, как определить каталог временных файлов. Мы создали и использовали курсор, не имея ни БД, ни dbf, ни уже созданных курсоров.
Или еще пример.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create cursor mmm (mm m)
append blank
append memo mm from myfile
myvar = mmm.mm
use
*** Далее с файлом можно работать как с переменной
*** (после появления функции filetostr стало неактуально)
;-)
...
Рейтинг: 0 / 0
Формирование отчета из трех таблиц?
    #33365484
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrriДа нет же, просто:
Код: plaintext
1.
2.
create cursor ddd (dd d)
?justpath(dbf())
use
Это - пример, как определить каталог временных файлов. Мы создали и использовали курсор, не имея ни БД, ни dbf, ни уже созданных курсоров.
Или еще пример.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create cursor mmm (mm m)
append blank
append memo mm from myfile
myvar = mmm.mm
use
*** Далее с файлом можно работать как с переменной
*** (после появления функции filetostr стало неактуально)
;-)Спасибо посмотрел Help! create cursor...!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Формирование отчета из трех таблиц?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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