![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Table1.Filter [D2005, XP]
azl © (2007-11-21 00:57:00)Здравствуйте, уважаемые мастера. Подскажите, пожалуйста, возможно ли при помощи Table1.Filter отфильтровать записи по части текста?
В базе данных (Paradox 7) есть текстовое поле Name в котором хранятся ФИО людей, например, Иванов Петр Викторович и т.д.
Мне нужно выбрать все записи в которых встречается Петр.
Делаю вот так, не находит ни одной записи.
Form1.Table1.Filter:='(NAME=''*'+'Петр'+'*'')';
Если ввести:Form1.Table1.Filter:='(NAME='''+'Иванов'+'*'')';все записи с фамилией Иванов отображаются.
Нужно именно с помощью Table1.Filter, а не с помощью SQL. С помощью SQL это легко делается.
Query1.SQL.Text:='SELECT* FROM MyBase where Name like ''%Петр%''';
Query1.Active := true;
Заранее спасибо.
azl (2007-11-21 09:25:00) [1]
> Anatoly Podgoretsky ©
SQL всем нравится, но дальше запросов по выбору не очень разбираюсь.
В базу записи я добавляю, удаляю и т.д. с помощью Table.
Table1['NAME']:='Вася Пупкин';
Все эти данные из базы отображаются в DBGrid. Соответственно, чтобы данные отображались в DBGrid, нужно в его свойствах указать DataSource. Если указываю Table1, то отфильтрованные данные Query1 не отображаются в DBGrid.
Или как-то можно сделать, чтобы отфильтрованные записи с помощью SQL запросов отображались в DBGrid, но при этом, чтобы данные добавлялись с помощью Table? Я предполагаю, что в DBGrid - DataSource нужно указать не Table1, а Query1. Или есть другие варианты?
Anatoly Podgoretsky (2007-11-21 08:42:00) [2]> azl (21.11.2007 00:57:00) [0]
Чем же так SQL не нравится?
Ну если не нравится, тогда фильтруй с помощью OnFilterRecord