Формат даты в FB1.5

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Ugrael
Сообщения: 23
Зарегистрирован: 10 окт 2005, 12:16

Формат даты в FB1.5

Сообщение Ugrael » 10 окт 2005, 12:25

Доброго времени суток.
Вопрос вот такого плана.
Есть таблица со списком сотрудников. там даты записаны в виде "01.01.1900". а мне надо вывести на отчет ( QuickReport ) в виде
"01 января 1900". Все это под Delphi 7.Если выводить единичную запись, то у меня получается через decodedate. А вот когда списком, то выводится только первая запись.Структуру таблицы поменять сложно уже, но есть столбцы которые можно использовать ( varchar )
Пытаюсь применить formatdatetime, но что то не получается ... 8(
Хотя это вроде ИМХО тот самый путь.Помогите, кто сталкивался с подобной проблеммой ...спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 10 окт 2005, 13:02

на сервере ничего менять или делать не надо - там дата хранится в двоичном виде. Формат вывода надо задать на клиенте. У столбцов (TField) есть GetText, там и преобразуй в строку как тебе надо.

Ugrael
Сообщения: 23
Зарегистрирован: 10 окт 2005, 12:16

Сообщение Ugrael » 10 окт 2005, 13:18

kdv писал(а):на сервере ничего менять или делать не надо - там дата хранится в двоичном виде. Формат вывода надо задать на клиенте. У столбцов (TField) есть GetText, там и преобразуй в строку как тебе надо.
с этим проблем нет. я никак не могу этого сделать в quickReport :(

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 10 окт 2005, 15:34

к QR сильно привязан? Если нет, переходи на RaveReport или FR (последний - платный).

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 11 окт 2005, 08:10

Коль уж без квик репорта никак, сделай что-то вроде такого:

Код: Выделить всё

procedure TMyForm.QRBandBlaBlaBeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
   Some_QRLabel.caption := formatdatetime('Так_как_жаждается_видеть_дату', My_IBQuery.FieldByName(some_datetime).asdatetime);
end;
За синтаксис и орфографию не пинать, как КДВ ни скажет, пишу прям из мозга :)

Ugrael
Сообщения: 23
Зарегистрирован: 10 окт 2005, 12:16

Сообщение Ugrael » 01 ноя 2005, 15:52

Проблема решена. ответившим спасибо.
FormatDateTime меня не устраивал по причине написания даты как 01 январь 1900 г. А мне надо было "января".Посему была написана процедурка.

Ответить