![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как преобразовать дату в формате dd.mm.yyyy в формат dd/mm/yyyy? [D5, Access]
Rusty © (2004-07-19 12:53:00)Уважаемые, HELP!
Как преобразовать дату в формате dd.mm.yyyy в формат dd/mm/yyyy?
База Access почему-то не воспринимает дату в формате dd.mm.yyyy.
DSKalugin (2004-07-19 16:31:00) [1]пропиши в нонце основного модуля
initialization
DateSeparator:='/';
ShortDateFormat:='dd/mm/yyyy';
end.
Vit@ly (2004-07-19 15:13:00) [2]DateSeparator в win.ini
Или через настройки:
Язык и стандарты - Дата
Vit@ly (2004-07-19 15:13:00) [3]DateSeparator в win.ini
Или через настройки:
Язык и стандарты - Дата
Соловьев (2004-07-19 13:56:00) [4]
> с удовольствием почитаю!
with ADODataSet do
begin
if Active then Close;
CommandText:='SELECT * FROM Table WHERE Date>=#'+FormatDateTime('mm/dd/yyyy',DateTime_var)+'#';
Open;
end;
Ивсе таки параметры
Rusty (2004-07-19 13:52:00) [5]-->Johnmen
Тоже вариант, но я, дабы не мучиться, добавил такую функцию:
function EditDate (Date: TDateTime) : string;
var
Year, Month, Day: Word;
begin
DecodeDate(Date, Year, Month, Day);
Result:='#'+VarToStr(Month)+'/'+VarToStr(Day)+'/'+VarToStr(Year)+'#';
end;
Криво, но работает.
Всем спасибо, а если есть у кого другие соображения, - с удовольствием почитаю!
Johnmen (2004-07-19 13:45:00) [6]>Rusty (19.07.04 13:17) [6]
В таких случаях обычно используют параметр-флажок.
WHERE ((1=:FBeg) AND (MyDate>=:DateBeg)) OR ((1=:FEnd) AND (MyDate<=:DateEnd))
Rusty (2004-07-19 13:27:00) [7]-->Соловьев
> addSQL:='#01.01.2004#';
Это тоже пригодилось, т.к. запрос работает правильно только в таком случае:
...
addSQL:='#07/19/2004#';
with ADODataSet do
begin
if Active then Close;
CommandText:='SELECT * FROM Table WHERE Date>='+addSQL;
Open;
end;
...
Теперь мне надо привести дату к формату #MM/DD/YYYY# - еще лучше!
HSolo (2004-07-19 13:24:00) [8]Можно и NULL - "в зависимости от ситуации" (с)
Rusty (2004-07-19 13:17:00) [9]Нет, через параметр не подойдет. У меня 2 даты и одна из них может не использоваться (в зависимости от ситуации). Что тогда мне передать в параметр отсутствующей даты? NULL?
Johnmen (2004-07-19 13:09:00) [10]А через параметр не хочешь ?
HSolo (2004-07-19 13:09:00) [11]А запрос с параметром не подойдет?
Соловьев (2004-07-19 13:06:00) [12]
>
> addSQL:='01.01.2004';
addSQL:='#01.01.2004#';
кажысь так
Rusty (2004-07-19 13:01:00) [13]Пытаюсь выполнить запрос:
...
addSQL:='01.01.2004';
with ADODataSet do
begin
if Active then Close;
CommandText:='SELECT * FROM Table WHERE Date>='+addSQL;
Open;
end;
...
Ошибка!
Соловьев (2004-07-19 12:55:00) [14]
> База Access почему-то не воспринимает дату в формате dd.mm.yyyy.
Подробнее
> Как преобразовать дату в формате dd.mm.yyyy в формат dd/mm/yyyy?
FormatDateTime, Date-Time Format Strings + F1