Вопрос Master - Detail - SubDetail + ADOQuery/D7
Здравствуйте уважаемые администраторы этого замечательного сайта а также все не менее уважаемые посетители. У меня такое дело, хочу попробовать сделать отчет с помощью FastReport (3.14). Выборка происходит из связанных таблиц, доступ к данным с помощью компонентов ADO, в Delphi 7.0. Только таблицы не связанны как родительская - дочерняя и компанентом TTable, а выборка происходит посредством запросов, при событии DataChange. Т.е. в принципе все просто и легко.. Но как из этого сделать отчет, не могу дойти.. Компонент TTable (TADOTable) использовать нельзя.. Все сделано на ADOQuery... Я смотрел штаттный пример "Main", там как раз используются TTable ...
Исходный код примера я пристыковал, всего 13 кб., вместе с БД Access (Там есть некоторые пробные данные..)
Картинка примера:
Картинка БД Access к этому примеру, ее структура..
Раньше я как делал,
сам формировал
Помогите плз, в рамках этого примера сделать отчет Master - Detail - SubDetail, заранее благодарю за помощь, если этот вопрос решится, компаненты куплю, ибо это самые лучшие компаненты, которые когда либо я видел, тем более если подойдут под мою задачу..
Исходный код примера я пристыковал, всего 13 кб., вместе с БД Access (Там есть некоторые пробные данные..)
Картинка примера:
Картинка БД Access к этому примеру, ее структура..
Раньше я как делал,
сам формировал
While not ADOQuery.EOF do
begin
//
//тут ещё таких же 2 блока вложенных друг в друга, что не есть гуд :(
//
ADOQuery.Next;
end;
Ну и далее CSV/TXT отчет сформировать не мог...Помогите плз, в рамках этого примера сделать отчет Master - Detail - SubDetail, заранее благодарю за помощь, если этот вопрос решится, компаненты куплю, ибо это самые лучшие компаненты, которые когда либо я видел, тем более если подойдут под мою задачу..
Комментарии
(исходный код не качается)
Эта рабочая:
http://progres.h1.ru/fastreport_master_det...ubdetail_d7.zip
-=Serg=-
В моем случае, не знаю как сделать За выходные ещё попробую.
в событии AftePrint MasterBand-а фызывал внешнюю функцию с параметром в качестве параметра, в твоем случае, передовалось значения поля t1_rowid.
то же самое можно сделать и для detail1-detail2
как сделать внешнюю функцию хорошо расписано в документации.
Спасибо большое за ответ, я пока только начинаю разбираться с отчетами, сложновато с моим отчетом (с простыми отчетами работа идет без каких либо проблем) но делать все равно надо, буду разбираться с ф-ми.
-=Den=-
Скачал, то что надо! Правда были проблемы с переходом на 3.14, с 3.18, не большие, перенастроил поля, и все стало на место. Понятно значит, как это делается.. Все супер! Теперь все ясно. По покупке уже ясно, берем, думаю в конце этой - начеле следующей от нашей организации будет платеж.
У меня вопрос, не существенный конечно (можно даже сказать это совсем мелочь, просто интересно), главное все работает как надо! Ещё раз благодарю
Когда делаю в Дизайнере - Отчет - Данные и отмечаю галочками 3 frxDBDataset, то отчет показывается в превью, в дизайнере. Сохраняю, выхожу. Из программы уже не печатается, пишет ошибку, EstackOverflow. Снимаю галочки в дизайнере, сохраняю, уже не работает превью в дизайнере, за то работает из программы (что и надо). Т.е. в отчте не надо хранить данные об frxDBDataset? Т.е. их помечать галочками?
если закоментировать весь этот код , подключать датасеты придётся в дизайнере:
1)report->data->выбрать датасеты.
2)установить датасеты на бэнды (двойным кликом на бэнде).
Читайте документачию там всё это описано.