|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
12.05.2009, 00:43 | #11 | |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Цитата:
--------------- Делаю такой код: Код:
Код:
Если есть возможность можно рабочий пример с использованием in именно для фильтра AdoQuery, а не SQL.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
Последний раз редактировалось ArtInt; 12.05.2009 в 00:54. |
|
12.05.2009, 00:57 | #12 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
сработает точно, да и легче его контролировать, вот только литературы у меня пока нет, но как найду, сразу скину, но выглядеть это будет примерно так
Код:
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
12.05.2009, 01:04 | #13 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
насчет литературы - есть важная тема про литературу в этом разделе
а ошибка - все равно у тебя на мемо, объясню почему: сам текст ошибки выводится именно при неправильном определении аргументов, восприятие дельфи таково %d, %s, т.е. а ты в строке посылаешь %d%, пусть для тебя это мемо, но для дельфи это параметры переменных, он ждет от тебя %d - числа и % - а вот тут он не видит ничего после, вот и ругается. Если ты хочешь указать приблизительное значение строки из мемо, поробуй написать %%d%% (по идее он сам должен потом превратить их в одинарные, ну как с апострофами)
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
12.05.2009, 01:37 | #14 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Большинство литературы я уже просматривал. Но нигде не встречал чтобы фильтр поддерживал выражение с in. SQL несомненно это поддерживает.
Вот поэтому и спросил про литературе и ссылку, потому что для фильтра такого не видел применения in. Пробую в коде прописывать, пока что не получается. Хотелось бы узнать, точно in поддерживается ли в фильтре Adoquery.(потому что много функций из SQL в фильтре не поддерживается или синтаксис изменен)? У Вас данный пример с in в фильтре употреблялся?
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
12.05.2009, 19:53 | #15 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
да и не раз, и все нормально было, да причем фильтры у меня были очень даже приличные и or, и and, и in, и вперемешку. А тот текст ошибки, который вы описали выше чаще всего возникают именно при нправильной передаче переменных в строку
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
12.05.2009, 20:21 | #16 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Хорошо, пробовал с in, почему то никак не получается записать правильно.
По идее ввожу format='*.txt' и идет фильтрация по данному значению, что аналогично как я думаю format in ('*.txt') и с in выдает ошибку, что не так?
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
12.05.2009, 22:38 | #17 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
может модулек на почту или сюда, а то-что-то не видя советовать тяжеловато, там явно не так со строкой
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
12.05.2009, 23:32 | #18 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Создал примерный шаблон, так как в основной программе, там все "перемешано". И разбираться даже ночи может не хватить.
Дело, в том что все генерации фильтра работали, если каждому полю таблицы соответствует одно значение для фильтра и соединяется с другими полями через and или or. Для того чтобы не было ошибки, там писал специальный алгоритм конечного автомата для вставки скобок в нужных местах. Но вот, если одно поле - несколько значений через or , то уже ошибка, конечно можно взять скобками последнее значение format и другое поле, если между ними and, но это будет не совсем логично. Вообщем вылаживаю шаблон, если можно хочется узнать синтаксис с in в фильтре. или какие другие идеи. Из предыдущего скрина думаю понятно, что каждое поле может соединяться через and или or и генерация кода происходит при выборе чекбокс каждого поля.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
13.05.2009, 00:18 | #19 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
теперь все ясно.
я обычно для такого сложного фильтра не использую фильтр компонента, а пишу запрос, так оно вернее работает, поэтому и тебе предлагаю этот метод, по крайней мере избавишься от расставления скобок в общем глянешь образец ошибка and or.rar
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
13.05.2009, 01:10 | #20 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Наверное, действительно лучше все переписать на SQL запросы, так как подозреваю, что in фильтр не поддерживает, как и многое другое кстати. Первоначально, хотел сделать простенькую программу для хранения путей книг (с автоматическим занесением) и простенькую фильтрацию по полям, чтобы знать какая книга есть и открыть ее. В целом написал ее за часика 3. В принципе, все работает и пользуюсь. Но потом, захотелось чтобы фильтрация множественная была, чтобы значения фильтров сохранялись и загружались, отчеты в текстовом и html и worde, там другое по мелочи. В общем, как следствие изменение структуры таблицы. В целом эта оптимизация и дополнения в как минимум раз в 10 занимают больше времени. Уже почти все реализовал, кроме нормальной множественной фильтрации. Думаю тоже, лучше потратить время на пересмотр алгоритма на SQL , зато тупиковых ситуаций не будет как с фильтрами.
И еще раз, спасибо за советы, пробовал оставить отзыв, но правила форума не позволили."Вы должны добавить отзыв кому то еще прежде чем сможете добавить ее koma_grusha". Кому еще добавить отзыв? Если мы только вдвоем эту тему обсуждали, а других тем с вопросами пока нет, в основном, отвечаю.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AdoQuery | lenuxoid | БД в Delphi | 6 | 25.03.2010 18:24 |
AdoQuery | Stanislav | БД в Delphi | 34 | 26.06.2009 22:09 |
ADOQuery | Только_Учусь | Помощь студентам | 2 | 16.07.2008 00:31 |
ADOQuery | Roof | БД в Delphi | 2 | 12.07.2008 18:08 |
adoquery | Toxa | БД в Delphi | 10 | 12.02.2007 20:07 |