Главная страница
    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.035 c
1-1091800176
sergch
2004-08-06 17:49
2004.08.22
Как получить компонент под мышкой по щелчку мыши?


1-1092126635
oleg_v
2004-08-10 12:30
2004.08.22
WebBrowser - загрузка html кода из переменной.


4-1088528362
djone
2004-06-29 20:59
2004.08.22
TreeView


3-1091351030
Guest
2004-08-01 13:03
2004.08.22
AdoQuery - Fields - DisplayFormat


14-1091561847
DeadMeat
2004-08-03 23:37
2004.08.22
1C





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский