глючит экспорт отчёта в Excel

kdykdy
отредактировано 14:42 Раздел: FastReport 2.xx VCL
Мы делаем экспорт отчёта в Excel с помощью frOleExcelExport - экспортируется успешно.
Но если после этого пытаемся открыть какой-то другой отчёт - вываливается сообщение об ошибке "переменная [qTMP."A628"] не определена ". Такая переменная (а точнее это поле из таблицы данных) была в предыдущем отчёте, из которого делался экспорт в Excel. После нажатия кнопки "Отмена" FastReport выводит на предварительный просмотр шапку из того самого первого отчёта, который экспортировался в Excel. А тот отчёт, который мы загружали в LoadFromFile() - такое впечатление, что игнорируется.
Версия FastReport - сначала была 2.52, потом подняли до 2.55 - ошибка остаётся.
PS
Для формирования отчётов используется один и тот же компонент - источник данных, меняется только его свойство SELECTSQL. Отчётов больше десятка, и такая система успешно работает. Пока в одном из отчётов не сделать экспорт в Excel.

Комментарии

  • отредактировано December 2005
    написал:
    Мы делаем экспорт отчёта в Excel с помощью frOleExcelExport - экспортируется успешно.
    Но если после этого пытаемся открыть какой-то другой отчёт - вываливается сообщение об ошибке "переменная [qTMP."A628"] не определена ". Такая переменная (а точнее это поле из таблицы данных) была в предыдущем отчёте, из которого делался экспорт в Excel. ... А тот отчёт, который мы загружали в LoadFromFile() - такое впечатление, что игнорируется.

    Ещё один любителй грузить отчёты из текущей папки ...
    Если вы загружаете отчёт без указания полного пути:
    frReport1.LoadFromFile('MyReport.frf')
    
    то что происходит при экспорте отчёта в XLS когда вы сохраняете файл в другую директорию? Правильный ответ - текущая директория меняется ...
    Теперь нетрудно догадаться почему следующий отчёт уже не грузится ...
    Также РЕКОМЕНДУЕТСЯ LoadFromFile пользоваться как функцией, а не как процедурой, т.е. по результату можно обнаружить - а действительно ли отчёт был успешно загружен или нет ...

    Правильное написание загрузки отчёта:
    if not frReport1.LoadFromFile('C:\Reports\MyReport.frf') then
     MessageDlg('Невозможно загрузить отчет',mtError,[mbOk],0);
    

    P.S. 2 админы - может добавить это в FAQ ?
  • kdykdy
    отредактировано 14:42
    Спасибо, Vano.
    Уже сами разобрались.
    Именно так оно и было.

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

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