powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Гибкий запрос с разными фильтрами
12 сообщений из 12, страница 1 из 1
Гибкий запрос с разными фильтрами
    #39496936
wrq2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Создаю запрос, основной целью которого является возможность фильтрации по параметрам, понимаю, что задача классическая, но найти ничего подобного не смог.
Т.е. запрос вида
Код: sql
1.
select * from table where id_1=param1 and id_2=param2 and id_3=param3 and ...



Теперь вопрос - как сделать так, чтобы исключить фильтрацию по одному или нескольким элементам?
Не хочется на каждый случай писать свою строку запроса:
Код: sql
1.
select * from table where id_2=param2 and id_3=param3 and ...


Код: sql
1.
select * from table where id_1=param1 and id_3=param3 and ...


и т.д.

Как написать универсальную строку запроса?

Опытным путем определил, что в самом MS Access пропадает фильтрация по элементу, если будет запрос вида:
Код: sql
1.
select * from table where id_2=true and id_3=true ...



Но из приложения (C#) делаю следующее:
1. присваиваю параметру (переменная типа OleDBType.Integer) значение true (всё ок)
2. передаю этот параметр в запрос и... ничего не происходит.
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496948
sereginseregin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wrq2017,
Не уверен в синтаксисе Access
авторselect * from table
where (id_1=param1 OR param1 is NULL)
and (id_2=param2 OR param2 is NULL)
and (id_3=param3 OR param3 is NULL)
and ...

т.е. если параметр отбора не нужен, передаешь NULL
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496968
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wrq2017присваиваю параметру (переменная типа OleDBType.Integer) значение true (всё ок).
Булевое True числовой переменной??? ну-ну....
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496969
wrq2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vixxa, на самом деле, как я понимаю, тип данных Object и можно присваивать что угодно. Шарп при компиляции не ругается...
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496970
wrq2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sereginseregin, да я видел на форуме такой подход. Засомневался, но видимо только он и будет работать. Спасибо, надо попробовать.
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496972
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wrq2017vixxa, на самом деле, как я понимаю, тип данных Object и можно присваивать что угодно.
Нет, не понимаешь.
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496973
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wrq2017vixxa, на самом деле, как я понимаю, тип данных Object и можно присваивать что угодно. Шарп при компиляции не ругается...
не уверен по поводу Шарпа, но сильно сомневаюсь в том, что он компилирует строки (непосредственно текст) запроса....
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496974
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wrq2017,

вставьте в предложение WHERE правильные критерии - и будет счастье.
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496976
wrq2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо! Тему можно считать закрытой. Способ, предложенный "sereginseregin" действительно работает. Только у меня в комбо-боксы (фильтрующие элементы на форме) к BindingSource добавляется строка [0, Все] и, соответственно, фильтр отрабатывает так как нужно по запросу вида
Код: sql
\r\nselect * from table where (id_1=param1 or param1=0) and ...\r\n
\r\n
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496977
wrq2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vixxa,
1. про компиляцию я имел ввиду не строки запроса, конечно, а самого приложения;
2. начальный вопрос и был про корректное формирование критериев запроса раздела WHERE :)
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39496987
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wrq2017,
...
Рейтинг: 0 / 0
Гибкий запрос с разными фильтрами
    #39497153
wrq2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, отличный пример! Только у меня приложение на c#. Поэтому иногда возникают проблемы с соответствием типов данных :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Гибкий запрос с разными фильтрами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]