Topic: Сравнение дат в отчете (FastReport)

Коллеги подскажите как сравнить две даты:
Пока код такой (в скрипте в FastReport):

If (<Report."porych_gd.planovaya_data_isp"> < <Report."porych_gd.data_ispol">) and (<Report."status_porychGD.status"> = 'Выполнено')  then memo10.font.color := clRed;

Но похоже сравнивает как строки. Надо сравнить собственно две даты.
Подскажите плиз.

Re: Сравнение дат в отчете (FastReport)

Поля с датами в отчете являются просто текстом, попробуйте так

If (StrToDate(<Report."porych_gd.planovaya_data_isp">) < StrToDate(<Report."porych_gd.data_ispol">)) and (<Report."status_porychGD.status"> = 'Выполнено')  then memo10.font.color := clRed;
Dmitry.

Re: Сравнение дат в отчете (FastReport)

Так тоже пробовал, выдает ошибку - is not a valid date

Re: Сравнение дат в отчете (FastReport)

Evgeniy D wrote:

Так тоже пробовал, выдает ошибку - is not a valid date

Отчет создается с помощью кнопки "Отчет" или "Отчет (SQL)", если второе, то какой формат даты используется?

Dmitry.

Re: Сравнение дат в отчете (FastReport)

DriveSoft wrote:
Evgeniy D wrote:

Так тоже пробовал, выдает ошибку - is not a valid date

Отчет создается с помощью кнопки "Отчет" или "Отчет (SQL)", если второе, то какой формат даты используется?

С помощью кнопки "Отчет"

Re: Сравнение дат в отчете (FastReport)

видимо присутствуют записи с пустой датой, поэтому можно вставить проверку ValidDate

If (StrToDate(ValidDate(<Report."porych_gd.planovaya_data_isp">)) < StrToDate(ValidDate(<Report."porych_gd.data_ispol">))) and (<Report."status_porychGD.status"> = 'Выполнено')  then memo10.font.color := clRed;

если не заработает, приложите пожалуйста проект, проверю.

Dmitry.

Re: Сравнение дат в отчете (FastReport)

DriveSoft wrote:

видимо присутствуют записи с пустой датой, поэтому можно вставить проверку ValidDate

If (StrToDate(ValidDate(<Report."porych_gd.planovaya_data_isp">)) < StrToDate(ValidDate(<Report."porych_gd.data_ispol">))) and (<Report."status_porychGD.status"> = 'Выполнено')  then memo10.font.color := clRed;

если не заработает, приложите пожалуйста проект, проверю.

Действительно была ошибка с пустой датой, с ValidDate не получилось разобратся, тоже ошибку выдает, пришлось просто не делать проверку если даты нет.

if <Report."status_porychGD.status"> = 'Выполнено' then
   begin
   If StrToDate (<Report."porych_gd.planovaya_data_isp">) < StrToDate (<Report."porych_gd.data_ispol">) then memo10.font.color := clRed;    
   end;