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

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

Фильтр [D7, Access]


Klever ©   (2006-08-05 17:00:00) 

Фильтрую я значения сетки DBGrid1 столбца  Name таким образом
procedure TForm1.Edit1Change(Sender: TObject);
 begin
   If Length(Edit1.Text) > 0 then
     DataModule1.BookTable.Filtered:= True
  else
      DataModule1.BookTable.Filtered:= False;
  DataModule1.BookTable.Filter:='Name>=''' + Edit1.Text + ''''
end;

Фильтр работает, но воспринимает он точно совпадающие значения(к примеру , если в таблице есть слово Work и я ввожу в Edit1 букву w, то он ничего не находит.Нужно вводить W). Хотелось бы сделать чтобы фильтр находил слова с большой или маленькой буквы они записаны и ,если такое возможно, чтобы искало по разным сочетаниям (ork,  rk, wo,..). Заранее спасибо!


Desdechado   (2006-08-07 11:20:00) [1]

> Фильтрую я значения сетки DBGrid1
Фильтруют строки в наборе данных. Сетка данных не имеет, она представляет собой скользящее окошко, через которое можно увидеть этот набор.


Klever   (2006-08-06 20:13:00) [2]

to Anatoly Podgoretsky
Нет


Anatoly Podgoretsky   (2006-08-06 14:51:00) [3]

Caps Lock западает?


Klever   (2006-08-06 11:44:00) [4]

to Johnmen
СЕТКА ОТОБРАЖАЕТ НАЛИЧИЕ ЗАПИСЕЙ БАЗЫ! Я ФИЛЬТРУЮ СТОЛБЕЦ ЭТОЙ БАЗЫ BookTableName, И ЯСНОЕ ДЕЛО В СЕТКЕ ОТОБРАЖАЕТСЯ ОТФИЛЬТРОВАННАЯ БАЗА(ТОЧНЕЕ СТОЛБЕЦ)! ЧТО ТУТ НЕ ПОНЯТНОЕ?
Это у тебя вопросы от нечего делать, или что?


Johnmen   (2006-08-06 00:07:00) [5]


> Klever ©   (05.08.06 22:22) [6]
>
> Сетка работает от BookTable


А где в приведенном коде фигурирует сетка?


Klever   (2006-08-05 22:22:00) [6]

Сетка работает от BookTable
procedure TDataModule1.BookTableFilterRecord(DataSet: TDataSet;
 var Accept: Boolean);
begin
 Accept:=False;
 If Copy(BookTableName.AsString, 1,

Length(Form1.Edit1.Text)) = Form1.Edit1.Text then
     Accept:= True;
end;


Johnmen   (2006-08-05 22:09:00) [7]


> Klever ©   (05.08.06 17:00)  
>
> Фильтрую я значения сетки DBGrid1


А где в приведенном коде фигурирует сетка?


Dok   (2006-08-05 17:45:00) [8]

что не помогает? ошибка? а если ork%?


Klever   (2006-08-05 17:37:00) [9]

Нет, это не помогает(вообще не фильтрует(даже Work))


Dok   (2006-08-05 17:17:00) [10]

Вообще-то похорошему так не реагируют - на каждый пук фильтруют данные. Пользователь должен сам сказать - я закончил и нажать баттон. И в этом случае лучше слать новый запрос к базе учитывая что ввел юзверь и переоткрывать набор данных.


Dok   (2006-08-05 17:10:00) [11]

Попробуй:

 DataModule1.BookTable.Filter:='Name like ''' + Edit1.Text + ''''

А в Edit1.Text введи что-то типа такого: ork*


Наверх

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