Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2010, 17:37   #1
Ma4balaka
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 47
Вопрос Фильтр TTable

Подскажите, нужно применить фильтр к таблице не по содержимому всей ячейки, а по подстроке, т.е. если ищем символы "ДАН", то значение "НАБОР ДАННЫХ" попадает в выборку. Как это реализовать через TTable? Фильтр типа table.filter= '*ДАН*' не катит
Ma4balaka вне форума Ответить с цитированием
Старый 09.03.2010, 17:47   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

вот это должно помочь
Код:
    Filtered := false;
    Filter:='[имя_поля] LIKE ' + #39 + '%' + Edit1.Text + '%' + #39;
    Filtered := true;
maLoy*508 вне форума Ответить с цитированием
Старый 09.03.2010, 17:57   #3
Ma4balaka
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
вот это должно помочь
Код:
    Filtered := false;
    Filter:='[имя_поля] LIKE ' + #39 + '%' + Edit1.Text + '%' + #39;
    Filtered := true;
после применения - пустая таблица

Прекращайте ненужное цитирование предыдущих сообщений!
Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
А кроме кнопки "Цитата" внизу есть простое окно для ввода своего сообщения.
Модератор

Последний раз редактировалось mihali4; 09.03.2010 в 18:57.
Ma4balaka вне форума Ответить с цитированием
Старый 09.03.2010, 17:59   #4
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

а давайте свой пример, так сказать, в студию...

или хотя бы код который не работает... я думаю Вы [имя_поля] это заменили на название своего поля?
maLoy*508 вне форума Ответить с цитированием
Старый 09.03.2010, 18:08   #5
Ma4balaka
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 47
По умолчанию

Table.filtered:=false;
Table.filter:='[name] LIKE '+#39+'%'+edit1.text+'%'+#39;
Table.filtered:=true;

У нас принято оформлять код специальным тэгом - при помощи кнопочки "#".
Только...
И не значком #.
И не РНР-кодом.
И не значком цитаты.
И не собственными "ручками".
Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Модератор

Последний раз редактировалось mihali4; 10.03.2010 в 00:42.
Ma4balaka вне форума Ответить с цитированием
Старый 09.03.2010, 18:09   #6
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

квадтратные скобки не нужны...
maLoy*508 вне форума Ответить с цитированием
Старый 09.03.2010, 18:12   #7
Ma4balaka
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 47
По умолчанию

без изменений..

18:13

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
а давайте свой пример, так сказать, в студию...

или хотя бы код который не работает... я думаю Вы [имя_поля] это заменили на название своего поля?
да, я ищу по полю с именем "name"

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Читаем правила. Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Уважайте форумчан, и они ответят вам взаимностью...
Модератор

Последний раз редактировалось mihali4; 09.03.2010 в 18:59.
Ma4balaka вне форума Ответить с цитированием
Старый 09.03.2010, 18:17   #8
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

выложите свой проект... посмотрю, может смогу помочь
maLoy*508 вне форума Ответить с цитированием
Старый 09.03.2010, 22:30   #9
Ma4balaka
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 47
По умолчанию

Зачем далеко ходить, взять пример из demos\db\filter
Какой текст прописать в поле list, чтобы отфильтровать все записи содержащие, к примеру, символы 'Dive'? в столбце Company

Большое спасибо за мысль!

Код:
Table.Filtered:=false;
Table.Filter:= 'name LIKE '+ #39+ '*'+edit2.Text+'*'+#39;
Table.Filtered:=true;
Все работает!

Всплыл еще один вопрос.
В одном столбце встречаются повторяющиеся записи. Можно ли применить какой-нибудь фильтр для TTable, чтобы в таблице остались только уникальные значения? (база данных access)?

Последний раз редактировалось Stilet; 10.03.2010 в 17:19.
Ma4balaka вне форума Ответить с цитированием
Старый 10.03.2010, 17:18   #10
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

юзаем поиск, читаем правила: один вопрос - одна тема.

ЗЫ
Цитата:
Можно ли применить какой-нибудь фильтр для TTable
Нет, вроде нельзя. Пользуемся Query.
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с TTable.FindKey KiSH333 БД в Delphi 2 15.01.2009 12:59
выгрузить из Ttable anton14 Общие вопросы Delphi 5 09.09.2008 20:43
Как импортировать поля с Одного TTable в другой TTable Alex_7_4_1 БД в Delphi 3 09.05.2008 18:12
TTable или TClientDataSet? Dux БД в Delphi 0 23.04.2008 01:32