Master-detal - ручками
Доброго дня...
Простой отчет по Мастер-Деталь. Две таблицы (использую FIBPlus) но к ним нет DataSource и поэтому связку Master-Detal на уровне Delphi не удается сделать, да и нет особого желания, так же как не хочется через фильтр делать.
Так задача создать "фильтрацию" Деталь бенда в зависимости от Мастер бенда на уровне самого отчета...
Добавил код в событие Мастер бенда на onBeforePrint
как от этого избавиться?
Простой отчет по Мастер-Деталь. Две таблицы (использую FIBPlus) но к ним нет DataSource и поэтому связку Master-Detal на уровне Delphi не удается сделать, да и нет особого желания, так же как не хочется через фильтр делать.
Так задача создать "фильтрацию" Деталь бенда в зависимости от Мастер бенда на уровне самого отчета...
Добавил код в событие Мастер бенда на onBeforePrint
Repeat
While ([FRD1."ID_GR_NUM"]<>[FRD2."ID_GROUP"]) and (not DetailData1.DataSet.EOF) do
DetailData1.DataSet.Next;
If DetailData1.DataSet.EOF then
begin
MasterData1.DataSet.Next;
DetailData1.DataSet.First;
end;
Until ([FRD1."ID_GR_NUM"]=[FRD2."ID_GROUP"]) or (MasterData1.DataSet.EOF);
и код в событие onBeforePrint для Деталь бенда
While ([FRD1."ID_GR_NUM"]<>[FRD2."ID_GROUP"]) and (not DetailData1.DataSet.EOF) do
DetailData1.DataSet.Next;
Все работает, но в каждой группе остается последняя запись на которой появился признак EOF в деталь бенде...как от этого избавиться?
Комментарии