Связь между несколькими Masterdata
Добрый день! Разрабатываю отчет, в котором использую вертикальные бэнды.
На странице один горизонтальный MasterData и 4 вертикальных MasterData.
В ReportTitle1OnBeforePrint
Создаю динамический запрос SQLText := 'slect ID, bla bla bla ';
Далее
SQLSET('People', SQLText);
SQLOpen('People');
Датасет People подключаю к горизонтальному MasterData
Теперь, мне нужно связать(или передать) в остальные датасеты, id из датсета People
Причем остальные тоже создаются динамически.
Подскажите, как лучше организовать связь?
Если в томже ReportTitle1OnBeforePrint ниже назначить
SQLText := 'select ..... where id__ = ''' + IntToStr([people."id") + ''' ;
SQLSET('Nach', SQLText);
SQLOpen('Nach);
и т.д. для остальных бендов
То для всех записей из основного бенда people в вертикальных бендах будут значения соответствующие 1 записи основного бенда
На странице один горизонтальный MasterData и 4 вертикальных MasterData.
В ReportTitle1OnBeforePrint
Создаю динамический запрос SQLText := 'slect ID, bla bla bla ';
Далее
SQLSET('People', SQLText);
SQLOpen('People');
Датасет People подключаю к горизонтальному MasterData
Теперь, мне нужно связать(или передать) в остальные датасеты, id из датсета People
Причем остальные тоже создаются динамически.
Подскажите, как лучше организовать связь?
Если в томже ReportTitle1OnBeforePrint ниже назначить
SQLText := 'select ..... where id__ = ''' + IntToStr([people."id") + ''' ;
SQLSET('Nach', SQLText);
SQLOpen('Nach);
и т.д. для остальных бендов
То для всех записей из основного бенда people в вертикальных бендах будут значения соответствующие 1 записи основного бенда
Комментарии
Попробовал, но после ReportTitlteOnBeforePrint, в котором открывается запрос People, осуществляется переход к OnBeforePrint уже вертикальных бэндов, минуя OnBeforePrint горизонтального, и та как данные не определены возникает ошибка отсутствия данных.
Еще такой нюанс:
Горизонтальный мастердата имеет название MasterData3, а вертикальные начинаются с MasterData1,2,4,5,6,7