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

Вниз

Поиск с фильтром в компонентах ADO   Найти похожие ветки 

 
SergeyM   (2004-09-25 09:39) [0]

Привет мастера!
Немогу реализовать фильтрацию по символам, хотябы по начальным, в компоненте ADOTable.
Пишу как написано в хелпе:

DataModule1.ADOTable1.Filtered:=false;
DataModule1.ADOTable1.Filter:=Col+" = "+QuotedStr(Edit1.Text);
Edit2.Text:=DataModule1.ADOTable1.Filter;// это так для просмотра что там с фильтром
DataModule1.ADOTable1.Filtered:=true;

Пробовал и так:
<code.
DataModule1.ADOTable1.Filtered:=false;
DataModule1.ADOTable1.Filter:=Col+" = "+QuotedStr(Edit1.Text+"*");
edit2.Text:=DataModule1.ADOTable1.Filter;
DataModule1.ADOTable1.Filtered:=true;

Ниче не получается, в смысле получается пустой DBGrid.
Метод Locate работает но нужна фильтрация, причем по части выражения.


 
sniknik ©   (2004-09-25 11:16) [1]

замени * на % и проверь еще раз


 
SergeyM   (2004-09-25 11:23) [2]

Неработает.


 
Anatoly Podgoretsky ©   (2004-09-25 11:28) [3]

Как раз наоборот все работает - нет ни одной записи удовлетворяющей условию фильтра, если бы не работало, то выдало бы все записи.


 
sniknik ©   (2004-09-25 11:34) [4]

> Неработает.
а вообщето правильно, у тебя что в фильтре получается?
после такого составления, смотрел?
DataModule1.ADOTable1.Filter:=Col+" = "+QuotedStr(Edit1.Text+"%");
в переменной Col чего? или это имя поля?
тогда так проверь
DataModule1.ADOTable1.Filter:="Col="+QuotedStr(Edit1.Text+"%");


 
SergeyM   (2004-09-25 12:06) [5]

В переменной Col содержится имя столбца по которому происходит фильтрация. Например в столбце Nam существует запись Dir.exe, при поиске:

DAtaModule1.ADOTable1.Locate(col,Edit1.Text,[loCaseInsensitive,loPartialKey]);

Все нормально работает причем при постепенном вводе курсор перемещается на запись ближайшую к заданной в Edit1.Text,
а вот при фильтрации, если я ввожу к примеру dir , то отображается пустой Грид, если же (работает только с первым описанным случаем) ввожу dir.exe, то фильтр работает. А мне нужно реализовать не по полному названию, а по его части. Вдруг я не помню полного названия?


 
sniknik ©   (2004-09-25 12:09) [6]

> не по полному названию, а по его части
черт, ну конечно же
DataModule1.ADOTable1.Filter:=Col+" LIKE "+QuotedStr(Edit1.Text+"%");


 
SergeyM   (2004-09-25 12:16) [7]

Все ОК спасибо!


 
SergeyM   (2004-09-25 12:17) [8]

Причем работает и со *



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

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

Наверх




Память: 0.46 MB
Время: 0.049 c
1-1097233522
JMasta
2004-10-08 15:05
2004.10.24
Наглядное хранение записей


3-1096095314
Гость
2004-09-25 10:55
2004.10.24
Поиск без регистра


3-1096281014
Леонид
2004-09-27 14:30
2004.10.24
Не удается проапдейтить запись БД-access


1-1097305103
Тимур
2004-10-09 10:58
2004.10.24
Как поместить свой popup в WebBrowser(>=Ie5.5)


3-1096124889
eugene32
2004-09-25 19:08
2004.10.24
Вопрос про TDataModule





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