Главная страница
    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.043 c
15-1171729161
ProgRAMmer Dimonych
2007-02-17 19:19
2007.03.18
Подскажите новичку


6-1159346956
DeadMeat
2006-09-27 12:49
2007.03.18
Indy 9 или Indy 10 ?


15-1172127207
DrDe
2007-02-22 09:53
2007.03.18
3GP


1-1169547324
OnixLab
2007-01-23 13:15
2007.03.18
TComboBox


2-1172317674
Novichok_New
2007-02-24 14:47
2007.03.18
"Непонятные" поля (mail)





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