Ошибка в Formatdatetime

отредактировано 16:42 Раздел: FastReport 4.0
Программно передаю в отчет переменную MyData : TDateTime.
В отчете использую ее в тексте: ... [FormatDateTime('mmmm yyyy',<MyData>)] ...
Отчет с разворачиваемыми группами.
Все ОК до тех пор, пока не пробую открыть/закрыть любую группу.
Вываливает: "Memo1: Ошибка в выражении '01.03.2009': ';' expected".
Если заполнять Мемо через скрипт - то же самое. Без этого текста все работает.

Люди добрые, что это может быть или как это обойти??? Второй день бъюсь ...

Комментарии

  • отредактировано 16:42
    Неужели никто с таким не сталкивался???
    Используется в 4-х десятках отчетов во всевозможных комбинациях.
    Например: "Отчет с начала [FormatDateTime('yyyy',<MyData>)] года по [FormatDateTime('mmmm yyyy',<MyData>)] года включительно".
    Конечно, можно решить проблему дополнительно передавая в отчет текстовые переменные типа "Май 2009 г.", но теряется гибкость отчетов и не хочется отказываться от благ цивилизации...
    Господа Профессионалы, ау-у-у!!!
  • dron-sdron-s Россия
    отредактировано 16:42
    могу предположить что проблема может быть из за формата...
    попробуй поставить простой текстовый формат
  • отредактировано 16:42
    Обычный текст без всякого форматирования...
    Уже пробовал играться с форматированием - абсолютно ничего не дает.
    Для чистоты эксперимента создавал новое Мемо, писал туда только "[FormatDateTime('mmmm yyyy',<MyDate>)]", таскал его по разным бэндам - результат одинаковый: формируется отчет нормально, но при сворачивании или разворачивании группы - ошибка.
    FR v4.5
  • dron-sdron-s Россия
    отредактировано 16:42
    у меня нормально работает
    memo1.text := FormatDateTime('mmmm yyyy',now);
    
    написал:
    но при сворачивании или разворачивании группы - ошибка.
    сделай тестовый отчёт и попробуй как у меня.. если что, скидывай шаблон.. посмотрим
  • отредактировано 16:42
    Вот шаблон, собственно (самый простой).
    В него из программы (Delphi 7) передается единственная переменная:

    frReport1.Variables.Clear;
    frReport1.Variables := '';
    frReport1.Variables := StrToDateTime('01.'+ FormReportSum.EditOtch_Mes.Text);

    Потом формируется элементарный запрос типа:

    SELECT * FROM Wse_sm
    WHERE (Otch_Mes <= :P_Data) AND (Otch_Mes >= :P_God)
    ORDER BY Otch_Mes

    И открывается отчет.
    frReport1.ShowReport;
    Все.
  • отредактировано 16:42
    Перешла на FR4. Не могу передать переменную даты в отчет.
    В FR2 делала так:

    frxReport->LoadFromFile(ExtractFilePath(Application->ExeName) + "2.fr3");

    TfrxVariables *Vars = frxReport->Variables;

    Vars->Variables["DatIzv"] = DatIzv->Date.Val;

    А сейчас дает ошибку Ошибка в выражении '10.05.2009': ';' expected".
    Если ставлю
    Vars->Variables["DatIzv"] = DatIzv->Date.FormatString("dd.mm.yyyy")

    То передает абы что в дату.
    Как правильно? Подскажите. Спасибо

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

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