Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание отчета Master-Detail ;с помощью Free_Report [D6, IB6.x]


Наташа ©   (2003-04-03 23:00:00) 

Мастера delphi! Подскажите пожалуйста. Создаю отчет Master-Detail
На форму помещаю компонент frReport1 и 2 компонента frDBDataSet, каждый связан соответсвенно со своим IBQuery. В дизайнере помещаю полосы Master Data и Detail Data , и в них выбирю соответсвующие поля. В реультате получаю на каждую запись Master таблицы все записи Detail Таблицы. В чем дело?


Наташа   (2003-04-04 09:12:00) [1]

Большое спасибо! Все получилось.


Наташа   (2003-04-04 08:57:00) [2]

Спасибо! Попробую.


zacho   (2003-04-04 08:33:00) [3]

Это можно сделать несколькими способами. Например, так:
Если в таблице CLIENT первичный ключ - C_ID, и в таблице ORDERS поле со ссылкой на CLIENT тоже C_ID, то в IBQuery2 пишем такой запрос: SELECT * FROM ORDERS WHERE C_ID=:C_ID
В IBQuery2 в свойство DataSource устанавливаем DataSource связанный с IBQuery1.


Наташа   (2003-04-04 08:16:00) [4]

А можно уточнить, как IBQuery связать по master-Detail? Есть IBQuery1 (Select * from Client (главная таблица)) и IBQuery2(Select * from Orders (detail таблица)). Таблицы Client и Orders
связаны на физическом уровне с помощью внешнего ключа по полю C_Id (код клиента). А что еще требуется? Или нужно удалить связь на физ. уровне и связать как-то здесь?


Andrey V.   (2003-04-04 07:55:00) [5]

Есть геморройный(ИМХО) путь через исползование
TFrUserDataset , через их эвенты onFirst,onNext и onCheckEOF
Есть кажется в демо пример такой работы.
И есть путь через GroupHeader.
В первом случае нужно два Query , во втором - один.


zacho   (2003-04-04 06:26:00) [6]

Дело в том, что соответствующие IBQuery тоже надо связать по Master-Detail


Наверх

Титульная страница Поиск, карта сайта Написать письмо