Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.045 c
14-1091614672
Strumpf
2004-08-04 14:17
2004.08.22
Как приятно


14-1091616142
Bless
2004-08-04 14:42
2004.08.22
Зачем нужен фаервол?


1-1091707980
Menel
2004-08-05 16:13
2004.08.22
Вопрос по окружностям и знакам...


4-1089495562
_Stalker_
2004-07-11 01:39
2004.08.22
Путь к программе


14-1091684804
REA
2004-08-05 09:46
2004.08.22
Нашествие





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский