Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Вниз

как в sql-запросе отфильтровать по дате   Найти похожие ветки 

 
sipsik   (2007-02-25 16:37) [0]

Здравствуйте!
Подскажите, как при подключении БД *.mdb с помощью компонента ADOQuery выводить только те записи, у которых в поле [дата поставки] дата меньше текущей?

у меня

"SELECT * FROM [заказ на поставку] where
"Дата поставки"="+datetostr(date)

пишет ошибку, что неправильный синтаксис выражения
[дата поставки]=25.02.2007


 
Anatoly Podgoretsky ©   (2007-02-25 16:40) [1]

В SQL запросе нет фильтров, это привелегия клиентской стороны.


 
sipsik   (2007-02-25 16:44) [2]

но все же как?


 
Anatoly Podgoretsky ©   (2007-02-25 16:48) [3]

> sipsik  (25.02.2007 16:44:02)  [2]

Что как? Как сделать то чего нет в природе? Ну так это к магам.


 
sipsik   (2007-02-25 16:50) [4]

я хотела сказать, как правильно написать sql-строку при активации запроса, чтобы в dbgrid у меня вывелись только те записи из таблицы, у которых дата в поле "дата поставки" меньше текущей?


 
Virgo_Style ©   (2007-02-25 17:00) [5]

Используй параметры и не забывай, что слову меньше соответствует значок "<", а не "="


 
Anatoly Podgoretsky ©   (2007-02-25 17:02) [6]

> sipsik  (25.02.2007 16:50:04)  [4]

Вот это уже другое дело используй критерий отбора Where D<:D


 
Anatoly Podgoretsky ©   (2007-02-25 17:04) [7]

И если параметры не будешь использовать, то QuotedStr(datetostr(date)), литералы должны быть в кавычках, но без параметров все равно будут рано или поздно проблемы.


 
sipsik   (2007-02-25 17:09) [8]

я не знаю, как использовать параметры
я писала

"SELECT * FROM [заказ на поставку] where
"Дата поставки"<25/02/2007"

ошибки нет, но не находит ничего


 
Anatoly Podgoretsky ©   (2007-02-25 17:13) [9]

> sipsik  (25.02.2007 17:09:08)  [8]

Сказано было про кавычки, а у тебя 25 поделить на 2, поделить на 2007, это дата очень близка к нулевой 1.01.1900


 
sipsik   (2007-02-25 17:18) [10]

я написала

"SELECT * FROM [заказ на поставку] where
"Дата поставки"<"+quotedstr("25.02.2006")

и пишет теперь несоответствие типов данных выражению условия отбора


 
SergP_n/a   (2007-02-25 17:23) [11]


> sipsik   (25.02.07 17:09) [8]
> я не знаю, как использовать параметры
> я писала
>
> "SELECT * FROM [заказ на поставку] where
> "Дата поставки"<25/02/2007"
>
> ошибки нет, но не находит ничего


Формат не тот... Лучше используй параметрические запросы чтобы не заморачиваться с форматом даты...


 
Anatoly Podgoretsky ©   (2007-02-25 17:27) [12]

> sipsik  (25.02.2007 17:18:10)  [10]

Боюсь ошибиться, но вроде "Дата поставки" это не имя поля, а литерал, попробуй квадратные скобки.


 
sipsik   (2007-02-26 11:13) [13]

Вчера с ребятишками занималась, не написала, как получилось. А получилось вот так:

fMain.ADOQuery1.Parameters[0].Value:=date;
QuerySQL := "SELECT * FROM [заказ на поставку] where "Дата поставки"<:data";
fMain.ADOQuery1.SQL.Add(QuerySQL);

Получилось с параметрическим запросом.
Спасибо за подсказку.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1171987809
IA
2007-02-20 19:10
2007.03.18
Delphi for PHP


2-1172243897
Slimer
2007-02-23 18:18
2007.03.18
Даже самому смешно:)


2-1172153867
Lonix
2007-02-22 17:17
2007.03.18
Окно поверх всех окон


4-1162547214
kudatsky
2006-11-03 12:46
2007.03.18
Как получить серийный номер винчестера ?


2-1172657373
Alex19
2007-02-28 13:09
2007.03.18
захват аудио





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