|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.01.2016, 09:20 | #1 |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
Adoquery Filter проблемы с or и and
Доброе утро всем форумчанам.
У меня тут нарисовалась проблемка, которую я пока не могу никак решить... Имеется ADOQuery, с SQL запросом Код:
Код:
Но когда я добавляю другой фильтр: Код:
"Аргументы имеют неверный тип, выходят за пределы допустимого диапозона или вступают в конфликт друг с другом" Понимаю, что можно просто переписать запрос в АДОшке, но в связи с тем что там куда данных, всё будет очень долго грузится... Следовательно, мне нужно как то правильно записать фильтр... Но у меня не выходит... Что я делаю не правильно? Подскажите ... |
28.01.2016, 09:31 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Известный глюк датасета. По-моему так решается
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
28.01.2016, 09:38 | #3 |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
Ну, я понял, что можно скобки раскрыть.
Просто ситуация в том, что у меня куча куча ключей с условиями or, и пару ключей с and. Будет очень очень большая строка фильтра... |
28.01.2016, 09:41 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну не совсем просто скобки раскрыть. Посмотри внимательно на условие из #2. Не нравится - используй OnFilterRecord. Там уж нагородить условий можно любых. А еще лучше в запросе фильтровать. И длинные условия в Filter ни когда и не пихал, не знаю как оно будет себя вести, и вообще практически не использую такой способ фильтрования
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 28.01.2016 в 09:45. |
28.01.2016, 10:53 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
думаю, что вместо
Цитата:
Код:
поэтому пытается сделать 22 and (...) и выдаёт ошибку. В остальном я согласен с тем, что советует Аватар. onFilterRecord, конечно, не панацея, но иногда его удобнее использовать, чем пытаться сложный фильтр заставить работать. Особенно если есть поля типа Datе, Time и т.п. |
|
28.01.2016, 11:32 | #6 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
https://msdn.microsoft.com/en-US/lib...bts.10%29.aspx Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
||
28.01.2016, 11:46 | #7 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,770
|
А нельзя так?
Код:
|
28.01.2016, 11:55 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Такого и SQL не поймет. Хотя может и придумали такое расширение для каких-то СУБД в новых версиях. А Filter вообще об IN понятия не имеет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
28.01.2016, 13:02 | #9 |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
Аватар прав.
Не катит. IN тоже не работает. И Between не работает ...... Сделал, как посоветовал Аватар Код:
Всем спасибо, тему можно закончить |
28.01.2016, 13:24 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Filter cannot be opened | BoozZzilla | БД в Delphi | 7 | 26.12.2012 16:58 |
проблемы с AdoQuery | Azam693 | Помощь студентам | 2 | 23.02.2012 20:16 |
2 проблемы: вставка в ADODataset и с ADOQuery | Шани | БД в Delphi | 18 | 23.07.2008 20:38 |