| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > фильтрация по двум условиям через AND |
| Автор: АСК 31.10.2004, 15:57 |
| ПА-МА-ГИ-ТЕ !!!!!!!!!!!!!!!!!!!!!!!!!!!!! сделал фильтр по дате - работает сделал фильтр по фамилии - работает взял оба условия с этих фильтров и объединил в один через and - ВСЁЁЁЁ - ошибка (Operator not applicable to this operand type) Уже мозги плавятся!!!!!!!! ГДЕ ОШИБКА???? Никак не пойму PS: пробовал условия фильтрации заключать в скобки - не помогает |
| Автор: Dayana 31.10.2004, 16:27 |
| АСК, покажи пожалуйста код, а так не понятно... |
| Автор: АСК 31.10.2004, 16:50 |
| Filter:='Data='+''''+maskEdit1.Text+'''';- работает Filter:='Famil='+''''+Edit1.Text+''''; - работает Filter:=('Data='+''''+maskEdit1.Text+'''') and ('Famil='+''''+maskEdit1.Text+''''); |
| Автор: Elfin 31.10.2004, 16:59 |
| как я понимаю переменная filter у тебя - типа string, а операция and приемлема только к переменным логического типа, вместо and поставь простой плюсик |
| Автор: АСК 31.10.2004, 17:15 |
| Спасибо ща попробую |
| Автор: Elfin 31.10.2004, 17:17 |
| ну как? |
| Автор: АСК 31.10.2004, 17:20 |
| Все ОК СПАСИБО |
| Автор: p0s0l 31.10.2004, 18:49 |
| АСК, и что, так заработало ? Странно... Простая замена AND на + не должна была помочь... Во-первых, AND должен быть в фильтре как соединитель условий... Во-вторых, у тебя для фильтра даты и фамилии используется один и тот же MaskEdit, хотя в отдельных вариантах - разные компоненты... В-третьих, ты запутался с апострофами и двойными кавычками... В итоге должно быть так: Caption := ('Data="'+ maskEdit1.Text +'" and Famil="'+Edit1.Text+'"'); |
| Автор: Guest 1.11.2004, 19:16 |
| Извиняюся Посол прав просто у меня в проге после этого фильтра с +(and) стоит другой фильтр по одному условию видимо он у меня и сработал Посол спасибо твой код действует |