Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизОшибка с полем дата/время в аксес Найти похожие ветки
← →
Wolfram (2004-07-29 09:16) [0]Запрос типа
select field from table where data<="01.01.01"
в парадоксе работал, а в аксесе "Несоответствие типов данных в выражении условия отбора".
Может, дату надо как-то по другому оформлять?
← →
Ega23 © (2004-07-29 09:20) [1]попробуй
where data<="01.01.2001"
← →
Johnmen © (2004-07-29 09:25) [2]
select field from table where data<=:parametr
Будет работать, независимо от типа СУБД.
← →
ЮЮ © (2004-07-29 09:28) [3]В Accesse симольный формат даты в запросе такой:
"#<непосредственно дата>#"
Только 01.02.03 имеет 6 различных и правильных интерпретаций. Успехов! :-)
← →
Wolfram (2004-07-29 09:30) [4]там так и получается
select field from table where data<=""+date+""
, var date : tdate, вроде все правильно, но не работает, блин. в бд у поля стоит тип "Краткий формат даты", маски ввода, значения по умолчанию нет, поле необязатеьлное, неиндексированное.
← →
Wolfram (2004-07-29 09:34) [5][3]
>В Accesse симольный формат даты в запросе такой:
>"#<непосредственно дата>#"select field from table where data<=#"+date+"#
- ошибка в запросе бла-бла-бла
← →
DarkMan (2004-07-29 09:39) [6]select field from table where data<=#"+date+"#
где date формат "mm/dd/yyyy"
← →
ЮЮ © (2004-07-29 09:39) [7]"#01.02.03#"
только что это - 1 фебраля 2003 или 2 марта 2001 будет знать только БоГ и ассess.
Поэтому см.[2]
Улыбка в [3] была саркастической
← →
Wolfram (2004-07-29 09:48) [8]> где date формат "mm/dd/yyyy"
т.е. стандартный tdate не подходит? ведь он дает dd.mm.yyyy.
а если у меня в поле все типа dd.mm.yyyy - что, вообще не получится с этими полями работать?
← →
Anatoly Podgoretsky © (2004-07-29 09:50) [9]Wolfram (29.07.04 09:48) [8]
Стандартный tdate ничего не знает про dd.mm.yyyy.
← →
Wolfram (2004-07-29 09:52) [10]>Стандартный tdate ничего не знает про dd.mm.yyyy.
Переформулирую вопрос: как из dd.mm.yyyy получить mm/dd/yyyy?
Подскажите, плз.
← →
Johnmen © (2004-07-29 09:55) [11]Ты тормозишь или разводишь ?
← →
Соловьев © (2004-07-29 09:55) [12]
> Переформулирую вопрос: как из dd.mm.yyyy получить
> mm/dd/yyyy?
на форуме это каждый 5-й вопрос. У Вас поиск не работает? илиссылки 2,3,4...?
← →
Wolfram (2004-07-29 09:57) [13]>Johnmen
Похоже и то, и другое... Положение обязывает... :(
← →
starcomputer (2004-07-29 10:06) [14]> Запрос типа select field from table where data<="01.01.01" в парадоксе работал, а в аксесе "Несоответствие типов данных в выражении условия отбора".
Может, дату надо как-то по другому оформлять? <
select field from table where data <= DateValue("01.01.01");
И все будет работать!
А вообще почитай хэлп от Access там довольно много любопытных встроенных функций.
← →
DarkMan (2004-07-29 10:19) [15]FormatDateTime(""#"mm"/"dd"/"yyyy"#"",xxxxx)
← →
Wolfram (2004-07-29 10:27) [16]Спасибо всем сердешное. Уже все поправил.
← →
Anatoly Podgoretsky © (2004-07-29 11:42) [17]Wolfram (29.07.04 09:52) [10]
С помощью функций копировать части в нужно порядке и поставлять нужные разделители. А TDate ничего про это не знает, но зато его можно преобразовать в строку нужного формата
← →
Umak © (2004-07-30 07:17) [18]забивай дату в числовом формате - все работает отлично
и по идее даже быстрее должно.
а лучше используй параметры
← →
Wayfarer (2004-07-31 07:02) [19]function strDateAccessFormat(Dt:String):String;
begin
Result:="#"+strPadChL(strTokenAt(Dt,".",0),"0",2)+"/"+
strPadChL(strTokenAt(Dt,".",1),"0",2)+"/"+strTokenAt(Dt,".",2)+"#";
end;
function strDateAccessFormat(Dt:TDate):String;
var D,M,Y:Word;
begin
DecodeDate(Dt,Y,M,D);
Result:="#"+strPadChL(IntToStr(M),"0",2)+"/"+
strPadChL(IntToStr(D),"0",2)+"/"+IntToStr(Y)+"#";
end;
← →
faost © (2004-07-31 13:12) [20]
> Wolfram (29.07.04 09:16)
> Запрос типа select field from table where data<="01.01.01"
> в парадоксе работал, а в аксесе "Несоответствие типов данных
> в выражении условия отбора".
> Может, дату надо как-то по другому оформлять?
Все очень просто. Сначала тебе нужно перевести формат даты из "дд.ММ.уууу" (день.месяца.год) в "ММ/дд/уууу" (месяц/день/год) и в записи запроса дату вставлять не в кавычки а в "#". Т. е., втой запрос будет выглядеть так:select field from table where data<=#01/01/01#
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c