К списку форумов К списку вопросов
Как в Delphi сделать фильтр в ADOQuery
wew
29.09.2004 - 15:00
Чтобы отображались данные по шаблону.
Делаю Fam Like 'A*' - работает, а Fam Like '*' - не работает, хотя в последнем случае должны выбраться все записи.
P.S. Для СУБД Access.
leschakon2004
1 - 29.09.2004 - 15:21
Попробуй вот так
xSql := ..... +
'a.name LIKE ''%' + edGegenstand.Text + '%''
тока чтобы все записи вывести в текстовое поле засунь % вместо *
wew
2 - 30.09.2004 - 08:32
или типа того ADOQuery1.SQL.Text := ADOQuery1.SQL.Text + 'WHERE FAM Like '+ QuotedStr('%');?
А какже filter=?
leschakon2004
3 - 30.09.2004 - 14:49
Я функцией QuotedStr не пользовался никогда, не знаю.
Вот тока у тебя и увидел.
У себя в проге текстовое поле я подставляю в такую конструкцию перед переносом ее в запрос
' name like ''%'+text+'%'' '
То есть если искать по ИВА у меня в запрос идел '%ИВА%'
и как результат соответственно выдаются записи
ПИВАВАРОВ
ИВАНОВ
Петя ИВАНОВ
Если я хочу все записи из таблици то ставлю в текст % и
в запрос идет '%%%'
Или в форме фильтра я просто отключаю использование текстового поля в условии запроса.
Наверно в твоем случае надо по умолчанию формировать условие запроса как
1) '%' если хочешь все записи (ну тут если тект переменной пуст, то делай его %)
2) 'ИВА%' если хочешь всех ИВАНОВЫХ
3) '%XЗ%' если всех у кого в фамилии есть ХЗ
leschakon2004
4 - 30.09.2004 - 14:51
Что за filter= я не понял ?
Если имеется в виду filtr от TQuery то я его не юзаю никогда, так как на клиента идут все данные из запроса , а это грузит сеть.
Sabrian
5 - 30.09.2004 - 16:52
Лучше не используй фильтрацию, используй SQL.
werw
6 - 30.09.2004 - 17:17
1, 3-5: Спасибо!

К списку вопросов на форуме Программирование

>>