![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что писать в свойстве Filter компонента IBTable ? [D7, IB6.x]
Muzzy © (2006-06-06 06:06:00)Нужно, например, из поля dataotkl типа DATA отфильтровать (показать в связанном с ним компоненте DBGrid) только записи за 03 месяц. Делаю так:
"dateotkl" LIKE '%03%'
Но он показывает и 04.03.2006, и 03.04.2006, а мне нужно только первое (т.е. за 03 месяц).
Пятаюсь делать так:
"dateotkl" LIKE '___03_____' или так:
"dateotkl" LIKE '%.03.%'
Исчезают все записи.
Вопросы:
1. Подскажите, пожалуйста, что нужно написать в свойство Filter компонента IBTable, чтобы посмотреть записи за 03 месяц.
2. Какой запрос должен быть если нужен интервал. Например с 01.01.2006г. по 01.04.2006г.
Заранее спасибо!
Desdechado (2006-06-06 20:50:00) [1]1. использовать запрос
2. использовать параметры в нем
3. для дат удобно использовать диапазоны (особенно для выделение месяцев, декад и т.п.)
Ильш (2006-06-06 11:11:00) [2]счастливого пути !
сцылку читал? тебе уже достаточно ответили! бросай фильтры используй where и больше не кричи по пусту!
Muzzy (2006-06-06 10:58:00) [3]"dateotkl" WHERE MONTH("dateotkl")=3 тожа не помогает!
Ы-ы-ы-а-а-э-у-у-у-у-у-у-у.................
Хочу в дурдом!!!
Sergey13 (2006-06-06 10:50:00) [4]2[9] Muzzy (06.06.06 10:45)
> Но мне здесь-же(!) посоветовали через IBTable!
Советы - они как йогурты! Типа не все одинаково полезны. 8-)
Muzzy (2006-06-06 10:45:00) [5]
> Если "типа DATA", то ни о каких LIKE и SUBSTRING не может
> идти и речи.
>
> IBTable.Filter = 'MONTH(DATA)=3'
IBTable.Filter = 'MONTH(DATA)=3' не канает! Говорит, что нет функции MONTH.
Ранее делал через DataSet, там с этим проще. Но мне здесь-же(!) посоветовали через IBTable!
Я так понял, что Filter понимает только всякие выражения <=> и усе!
Так как мне быть?
Johnmen (2006-06-06 09:47:00) [6]Не болтайте ерундой (с) Фома
И вообще, см. http://www.delphimaster.ru/cgi-bin/forum.pl?id=1149167900&n=1
Ильш (2006-06-06 09:33:00) [7]
> типа month например...
ну и я о том же!
Сергей М. (2006-06-06 09:05:00) [8]
> из поля dataotkl типа DATA
Если "типа DATA", то ни о каких LIKE и SUBSTRING не может идти и речи.
IBTable.Filter = 'MONTH(DATA)=3'
Muzzy (2006-06-06 07:13:00) [9]Может какой SQL запрос написать?
Пробовал:
SELECT "dateotkl" FROM "JOTKL" WHERE "dateorkl" LIKE '%.03.%'
Так он и на SELECT орет SQL error code = -104.
Я запарился. Может как попроще можно.
А "dateorkl" LIKE '%.03.%' я уже пробовал.
Muzzy (2006-06-06 07:09:00) [10]
> а если так попробовать
> IBTable.Filter:="substring("dateotkl",4,2)='03'";
Блин! Матютается:
SQL Error code = -804
Function nuknow SUBSTRING.
Ильш (2006-06-06 07:03:00) [11]а там в фильтре есть какие нить функции ???
а если так попробовать
IBTable.Filter:="substring("dateotkl",4,2)='03'";
Muzzy (2006-06-06 06:27:00) [12]Никаких udf библиотек не использую тупо пишу в свойство IBTable.Filter
IBTable.Filter:=""dateotkl" LIKE '%03%'";
Кавычки, соответственно через chr.
Ильш (2006-06-06 06:18:00) [13]ты определись запрос или фильтр!!! where или filter ???
из поля типа дата можно выдернуть вообще-то функцией месяц... типа month например... или же преобразовав в строку по позиции сабстрингом например...
тока мы как то телепатически не можем узнать какие именно udf библиотеки у тебя установлены ???? потому каков вопрос таков ответ
интервал - between