TADOTable.Filter:=.....
От: BOBAH Россия  
Дата: 12.10.04 07:34
Оценка:
Добрый день, All.

Неужели нельзя в TADOTable.Filter запихнуть выражение типа
((Filed1 = 1) or (Filed1=2)) and (Filed2=5)??
при попытке активизировать фильтр с таким выражением вываливается Exception.
Но прикольно что можно использовать
(Filed1 = 1) and (Filed2=5) or (Filed1=2) and (Filed2=5)
что в вообщето равносильно.

Дело в чем ?!
хочется дать пользователю возможность накладывать фильтр на выводимые для него данные, по аналогии с фильтром в екселе, удобно потом его написать в виде ((Filed1 = 1) or (Filed1=2)) and (Filed2=5) {да и вообще так понятнее}. Неужели придеться раксрывать все скобки самостоятельно?
Re: TADOTable.Filter:=.....
От: Shtirliz Россия  
Дата: 12.10.04 11:33
Оценка:
Здравствуйте, BOBAH, Вы писали:

BOB>Добрый день, All.


{поскипано}

Какая Delphi?
... << RSDN@Home 1.1.4 >> << Windows 2000 Версия: 5.0.2195.0>>
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re: TADOTable.Filter:=.....
От: akasoft Россия  
Дата: 12.10.04 11:48
Оценка:
Здравствуйте, BOBAH, Вы писали:

BOB>Неужели придеться раксрывать все скобки самостоятельно?


D5? Увы, придётся. Похоже, это ADO такое, TADOTable всего-лишь обёртка над, передаёт данные дальше...

Общий принцип: работают "нечто" ИЛИ "нечто" и "нечто" И "нечто", при наложении ИЛИ должно быть вовне, т.е.
("нечто" И "нечто") ИЛИ ("нечто" И "нечто").

Хотя, может в ADO 2.8 дело и получше будет, если использовать его напрямую...
... << RSDN@Home 1.1.4 beta 2 rev. 182>>
Re: TADOTable.Filter:=.....
От: JazzzMaster Россия  
Дата: 12.10.04 23:00
Оценка: +1
Здравствуйте, BOBAH, Вы писали:

BOB>Добрый день, All.


BOB>Неужели нельзя в TADOTable.Filter запихнуть выражение типа

BOB> ((Filed1 = 1) or (Filed1=2)) and (Filed2=5)??
BOB>при попытке активизировать фильтр с таким выражением вываливается Exception.
BOB>Но прикольно что можно использовать
BOB>(Filed1 = 1) and (Filed2=5) or (Filed1=2) and (Filed2=5)
BOB>что в вообщето равносильно.

BOB>Дело в чем ?!

BOB>хочется дать пользователю возможность накладывать фильтр на выводимые для него данные, по аналогии с фильтром в екселе, удобно потом его написать в виде ((Filed1 = 1) or (Filed1=2)) and (Filed2=5) {да и вообще так понятнее}. Неужели придеться раксрывать все скобки самостоятельно?

Учи SQL и используй ADOQuery. Строку запроса будешь слеплять на основе параметров фильтра — так будет намного проще, чем всякие извращения типа "раскрывать все скобки самостоятельно".
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.