Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтрация [D5, Paradox]


Страницы:   1 2

Miss ©   (2002-11-10 08:23:00) 

Пусть имеется поле типа DateTime, через TTable необходимо отфильтровать только по году


Anatoly Podgoretsky   (2002-11-10 16:14:00) [21]

Оно правильно раставляет кавычки, лучше это использовать, чек конструкции типа """+IntToStr()+"""


Miss   (2002-11-10 16:11:00) [22]

>Anatoly Podgoretsky ©
Подробнее о QuotedStr можно?


Anatoly Podgoretsky   (2002-11-10 15:55:00) [23]

Ну так привели как ты Edit превращаешь в фильтр


Miss   (2002-11-10 15:43:00) [24]

Дело не в выборе SetRange или OnFiltered.
Здесь под образцом поиска имеется в виду то что пользователь ввел, например, в Edit. Хотя конечно сказать "образец поиска" будет не совсем верно, но что ж сори за некорректную формулировку.
Да, при компоновке даты из строки компилятор ругается -"1.01.1968" не дата. Если разделитель / тоже самое происходит.
Вот и возник вопрос может это можно проще реализовать.


MsGuns   (2002-11-10 14:00:00) [25]

Событие OnFiltered


Anatoly Podgoretsky   (2002-11-10 13:44:00) [26]

Чем эти плохи, вариант с SetRange работает быстрее, чем фильтр, но требует активного индекса по полю. Фильтру же индексы не требуются.
Если образец "поиска" (смущает это понятие в применении к фильтру), то построение фильтра оченб простое, с учетом, что локализация совпадает, то

Table.Filter := "Field>="+QuotedStr("1.01." + StrToInt(Year)) + " and Field<="+QuotedStr("31.12." + StrToInt(Year));


Miss   (2002-11-10 13:32:00) [27]

Есть ли еще варианты?


Vladislav   (2002-11-10 09:18:00) [28]

попробуй сделать фильтр Field >= 1.01.1980 and Field <= 31.12.1980


Miss   (2002-11-10 08:39:00) [29]

Это понятно, и др. методы имеются... Но вопрос в другом-
запись в поле имеет вид 10.10.1980 образец поиска 1980


iNew   (2002-11-10 08:26:00) [30]

Table1.SetRange


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо