| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Как отсортировать таблицу по двум условиям? |
| Автор: Bosk 28.10.2004, 21:17 |
| Ребята, подскажите - как отсортировать таблицу по двум условиям? Написал такой код: begin with Table1 do begin Filter:= (' Fied1= ' + '''' Edit1.Text '''') and ( ' Fied2 = ' + '''' Edit2.Text ''''); Filtered:=true; end; end; Если не использую AND - фильтр работает без проблем. Иначе ошибка : 'Operator not applicable to this operand type'. Может, где-то в синтаксисе ошибка? Хотя уже перепробовал все ну, не работает собака и все тут! Помогите плиззз... |
| Автор: Guest 29.10.2004, 08:50 |
| Filter:= '( Fied1= ''' + Edit1.Text + ''') and (Fied2 = ''' + Edit2.Text + ''')'; но в зависимости от того какие значения содержатся в едитах, могут быть вариации |
| Автор: Cetus 29.10.2004, 11:27 |
| table1.Filter := 'field1 = ''' + edit1.text + ''' and field2 = ''' + edit2.text+''' or field3 = ''' + edit3.text+''''; скобки не обязательно. Добавлено @ 11:28 table1.Filter := 'field1 = ''' + edit1.text + ''' and field2 = ''' + edit2.text+''' or field3 = ''' + edit3.text+''''; скобки не обязательно. |
| Автор: MacTep 3.11.2004, 11:07 |
| Я думаю, что фильтр вообще не надо использовать. Надо сортировать по двум индексным полям. Вот тогда все и будет работать! |
| Автор: Medved 3.11.2004, 12:05 | ||
В крайнем случае, как сказал MacTep. Гораздо лучше через SQL.
|
| Автор: Vit 4.11.2004, 07:07 |
| А при чём тут фильтр к сортировке? Объясните мне деревянному как можно фильтром сортировать? Фильтром фильтруют... Сотритруют либо индексом (что совсем плохо), либо запросов, как Pegas сказал... |
| Автор: Medved 4.11.2004, 10:30 | ||
|
| Автор: MacTep 4.11.2004, 18:15 |
| Вот и я про фильтр говорил, что им ну никак не отсортируешь! |