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