Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Репортинговые системы > MasterDetail в FastReport3


Автор: rOOxus 8.5.2009, 14:51
здравствуйте коллеги!

у меня отчет с одной главной выборкой и двумя дочерними. мне надо реадизовать связь master-detail в самом отчете по полям 

MasterQuery.id->DetailQuery1.p_id
MasterQuery.id->DetailQuery2.p_id

в мануале по fastreport описан способ как это сделать с помощью Delphi т.е. положить три компонента на форму, организовать между ними эту связь и использовать в отчете.
а как сделать то же но внутри отчета средствами дизайнера fastreport? у Query есть свойство Master но нет совйства типа MasterFields. Может как-то через скрипт?

Автор: HeliX 6.6.2009, 22:55
Цитата(rOOxus @ 8.5.2009,  14:51)
здравствуйте коллеги!

у меня отчет с одной главной выборкой и двумя дочерними. мне надо реадизовать связь master-detail в самом отчете по полям 

MasterQuery.id->DetailQuery1.p_id
MasterQuery.id->DetailQuery2.p_id

в мануале по fastreport описан способ как это сделать с помощью Delphi т.е. положить три компонента на форму, организовать между ними эту связь и использовать в отчете.
а как сделать то же но внутри отчета средствами дизайнера fastreport? у Query есть свойство Master но нет совйства типа MasterFields. Может как-то через скрипт?

Проблема еще актуальна ?

Св-во MasterFields есть только у объекта таблицы, запросы же связываются через параметры.

К примеру есть два запроса MasterQuery и DetailQuery1 , которые нужно связать по полю p_id (как в вашем примере).
У DetailQuery1 нужно установить св-во  Master = MasterQuery, а связь делается уже непосредственно в запросе по параметрам:

select fields from table where  p_id = :p_id

При этом в редакторе параметров ничего указывать не нужно, если параметр имеет  такое же имя как у поля мастер датасета, то он подхватится автоматически.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)