Главная страница
    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.49 MB
Время: 0.104 c
1-1091533364
начинающий
2004-08-03 15:42
2004.08.22
Есть ли CRC в TDecompressionStream?


14-1091310306
Delphi5.01
2004-08-01 01:45
2004.08.22
Delphi na Pocket PC


14-1091425693
читающая
2004-08-02 09:48
2004.08.22
маразм крепчал...


14-1090881129
g-l-u-k
2004-07-27 02:32
2004.08.22
Как скомпилить *.exe


14-1091096825
Baks
2004-07-29 14:27
2004.08.22
WebBrowser





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