Вопрос № 38806: Доброго времени суток, уважаемые. На форме есть DBGrid, подключен по ADOConnection к БД Аксесс. БД содержит данные об электронных компонентах мат.плат, всего 25 текст. полей.
1. Не могу организовать фильтрацию по значениям не одного, а нескольких...
Вопрос № 38.806
Доброго времени суток, уважаемые. На форме есть DBGrid, подключен по ADOConnection к БД Аксесс. БД содержит данные об электронных компонентах мат.плат, всего 25 текст. полей.
1. Не могу организовать фильтрацию по значениям не одного, а нескольких (списка или лучше всех) полей.
2. Не могу разобраться с условиями фильтрации. Если код:
adotable1.Filter:='Chipset='+quotedstr(edit1.Text);
то записи появляются только после ввода полного значения поля (i845, i850)
Если же так:
adotable1.Filter:='Chipset>='+quotedstr(edit1.Text);
то остаются как i845 так и i850.
Если:
adotable1.Filter:='Chipset>'+quotedstr(edit1.Text);
то только то, что >i845 т.е. i850 и т.д.
Нужно же сделать, чтобы по мере ввода просто отсеивались не отвечающие условию записи.
Отвечает: Kazakh
Здравствуйте, Suslov Pavel!
Если поле ChipSet строковое, то нужно использовать like.
Напрмер, adotable1.Filter:='Chipset like '+'i84*'; оставит чипсеты которые начинаются на i84, то есть i841, i84565, i842, i843 и т.д.
Подстановочный знак * (звездочка) - любое количество символов, даже пусто ('')
--------- Если собеседник затрудняется ответить, значит, вопрос поставлен правильно.
Ответ отправил: Kazakh (статус: 4-ый класс)
Ответ отправлен: 29.03.2006, 08:16