Форум: "Начинающим";
Текущий архив: 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.04 c