Master-Detail

отредактировано 11:38 Раздел: FastReport 2.xx VCL
Извините за идиотский вопрос!

Есть три TADOQuery
Master - клиенты - qryClient(client_id, client_name)
Detail - заказы - qryOrder(order_id, client_id, order_sum)
Detail - продажи- qrySale(sale_id, client_id, sale_sum)

задача - нарисовать отчет вида

Клиент1
Заказ1Клиент1
Заказ2Клиента1
...

Продажа1Клиенту1
Продажа2Клиенту1
...

Клиент2...
Заказ1Клиент2
Заказ2Клиента2
...

Продажа1Клиенту2
Продажа2Клиенту2
...

Кидаю на форму три TfrDBDataset и TfrReport

В дизайнере кидаю три бэнда
master data
detail data
detail data

Как устанавливается связь между master и detail?

В демо - используются TTable и связь реализуется через MasterSource и MasterField.



Комментарии

  • отредактировано 11:38
    FastReport тут нипричем. Разбирайся с компонентом TADOQuery.
  • отредактировано 11:38
    Altus написал:
    Извините за идиотский вопрос!

    Есть три TADOQuery
    Master - клиенты - qryClient(client_id, client_name)
    Detail - заказы - qryOrder(order_id, client_id, order_sum)
    Detail - продажи- qrySale(sale_id, client_id, sale_sum)
    qryClient: select client_id, client_name from Client

    qryOrder: select order_id, client_id, order_sum from Order where Client_id = :Client_id

    qrySale: select sale_id, client_id, sale_sum from Sale where Client_id = :Client_id

    Заходишь потом свойства Parameters запросов qryOrder и qrySale и говоришь брать из мастера и указываешь у них в свойстве DataSource - qryClient

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.