Почему не отрабатывает Sum

отредактировано 17:09 Раздел: FastReport 4.0
Добрй день.

Есть отчет, который должен работать в 2-х режимах. 1 - просто отчет для печати. 2 - отчет для экспорта в MS Excel (BIFF, с формулами).

В обработчике OnBeforePrint пишу так

procedure memT1OnBeforePrint(Sender: TfrxComponent);
begin
if <MSExcel> then
memT1.Text := '=SUM(A3:A10)'
else
memT1.Text := IntToStr(SUM(<dsDetailMD."D1">, bndSizeGridData));
end;

Первая часть условия (для Экселя) отрабатывает правильно, экселевский файл получается 'живой', а вторая всегда возвращает 0.
А если я это суммирование перенесу непосредственно в Мему, то работает.
Отчет двухпроходный.
Что я делаю не так? И как побороть?

Спасибо.

Комментарии

  • gpigpi
    отредактировано 17:09
    написал:
    Что я делаю не так?
    Не читаете документацию
    написал:
    Особенность агрегатной функции – она должна быть использована внутри объекта "Текст", после чего к ней можно обращаться в скрипте. Если использовать агрегатную функцию только в скрипте (без использования в объекте "Текст"), то будет выдано сообщение об ошибке. Так происходит потому, что для корректной работы агрегатной функции она должна быть привязана к определенному бэнду.

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

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