Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.28;
Скачать: CL | DM;

Вниз

Фильтрация по частичному совпадению   Найти похожие ветки 

 
VladimirL   (2002-02-01 17:24) [0]

Ребята, такой вопрос: как в Delphi 4 организовать фильтрацию по частичному совпадению строк, т. е., например, нужно, чтобы в гриде были показаны все записи таблицы, в поле "Naim" которых есть подстрока "Анальгин"? Событие OnFilterRecord использовать нельзя, т. к. тогда база в гриде еле ползает. Компонент ТТаble.
Заранее спасибо за помощь.


 
Johnmen ©   (2002-02-01 17:31) [1]

Если хочешь без обращения внимания на регистр букв, то только пробежав НД (First...Next...) проверяя значение поля на присутствие в нем подстроки поиска (соотвественно все преобразовав напр. AnsiUpperCase...)


 
Виктор Щербаков ©   (2002-02-01 17:44) [2]

select * from MyTable where (Naim like "%Анальгин%")


 
}{unter ©   (2002-02-01 18:03) [3]

Виктор Щербаков
Ты уверен, что человек в курске как SQL запрос сделать, хоть бы написал, что TQuery нужен !


 
Val ©   (2002-02-01 18:54) [4]

>}{unter © (01.02.02 18:03)
Виктор Щербаков © дал человеку направление, в котором работать - он не обязан писать готовый код


 
yaJohn ©   (2002-02-01 19:22) [5]

S ТТаble, bez ispolzovania OnFilterRecord - nikak. Mojno poprobovat" soptimizirovat" sravnenie strok, no silno bistree pos(substr,str) vriadli viydet.
Vihod - kak skazal Виктор Щербаков.
Ya v svoe vremia stolknulsia s takoy problemoy. I where (Naim like "%Анальгин%") ne prohodilo, poskolku filtr chasto menialsia.
Togda ya delal tak: Vibiral vse zapisi iz Table1 v 2 RxMemoryData (ili kak ee, tochno ne pomnu). V odnu s Analginom - v druguu bez. Konechno, dolgo. No odin raz. Potom pri smene filtra probegal po oboim i perebrasival "Analgini" po neobhodimosti iz odnogo v drugoy. No mne nujen bil tol"ko prosmotr.... I ne elegantno :(((


 
Siberia   (2002-02-01 19:37) [6]

Да все правильно, только еще такой момент, когда ищещь по частичному совпадению надо обе части приводить к одному регистру:
str:="select * from tab1 where (Upper(Naim) LIKE "%"+ AnsiUpperCase("Анальгин") +"%");




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

Текущий архив: 2002.02.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
3-90444
ТеньЛуны
2002-02-01 12:33
2002.02.28
Количество знаков после запятой?


14-90635
Lamok(real)
2002-01-09 13:36
2002.02.28
Windows XP


3-90485
Seri
2002-02-04 10:59
2002.02.28
Что будет после переоткрытия?


1-90607
Dinara
2002-02-12 14:44
2002.02.28
Перерисовка окна


1-90590
Юля_Орлова
2002-02-12 10:03
2002.02.28
проблема с просмотром и печатью