|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
Доброго времени суток. Проблема в том что если допустим назначить на два или более поля параметр и при выполнении запроса не ввести значение в один из них или наоборот ввести значение только в один из параметров, запрос выдаст пустую таблицу. Так как же сделать что бы учитывались те параметры в которые я ввел значения т.е. 3 из 5, 1 из 5 и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 07:22 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
И еще в дополнение. Смотрел видео на ютубе на эту тематику и в комментариях к нему был аналогичный вопрос, ответ на него был таков что вся проблема решается с помощью переменных, а как конкретно это делать автор видео обещался объяснить в след. видео но оно не выходит спустя 3 года))) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 07:27 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
Afkshnik, Отвечу, как понимаю. Допустим, у вас есть в запросе пять полей с параметрами. Если параметр пропущен - то это не значит, что Акс перестанет обращать на него внимание, типа - ну нет, так нет. Просто этот параметр примет значение "", то есть - пустое значение. Соответственно, запрос будет искать строку с совпадением по образцу введённых параметров и с двумя или сколько там пустыми значениями поля из "пропущенных". И если такого совпадения не найдено - вы получаете свою пустую строку. Теперь по вашему второму вопросу. Запрос с параметром как он есть - не очень удобная штука, как вы сами убедились. Как вариант - играться с переменными, но не всегда это удобно. Можно сделать проще. Сделайте форму, сделайте на ней пустые поля с нужным форматированием. И сделайте тот же запрос, который в качестве параметров будет брать значения из полей формы. Нюансы: может понадобиться прямо в запросе преобразовывать значение того или иного поля формы в нужный тип данных. В некоторых случаях удобно сделать таблицу с полями нужных типов данных, и её прикрутить к форме, по которой будут забиваться значения в параметры запроса. Может понадобиться сделать серию последовательных запросов, дабы правильно отработать все варианты значений, в том числе и с пустыми полями. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 07:55 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
как-то так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 11:37 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
Afkshnik, Я так понимаю ТС у нужно реализовать в запросе переменное количество параметров от ни одного до например пяти... Можно сделать форму, вставить туда вместе с полями для параметров рядышком флажки и тащить в запрос и флажки и поля в качестве условий отбора, какие флажки включены, такие условия и работают... Недостаток один - количество параметров ограничено и текст запроса из-за условий большой, например при трех параметрах в условии нужно прописать все комбинации: 000 - не используется ни один параметр 001 - используется третий параметр 010 011 100 101 110 111 - используются все параметры. Так обычно делают все пионэры ибо метод требует минимум кода (во все флажки и поля по одному Requery). Но правильнее имхо в зависимости от наличия галочек в форме формировать запрос налету с нужными параметрами, особенно когда параметров много... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 14:28 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
прошу пардон-забыл про AND и MID: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
[/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 16:00 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
Tarasios, вот именно с формой я и пытаюсь это реализовать. Пока получилось сделать через макрос команду если и применить фильтр и то только два поля если больше полей то команды в макросе очень длинные а вот в запросе хотя бы так как в форме у меня не получилось, буду пробовать примеры приведенные ниже. Если у кого нить еще есть идеи все попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 19:22 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
sdku, Я так понимаю этот код пишется в режиме sql в запросе? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 19:23 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
AfkshnikЕсли у кого нить еще есть идеи все попробую вы бы примерчик своего решения приложили, а то сплошная игра типа УГАДАЙКА и конечно это проще делать кодом , а не макросом надо сделать форму, на которую разместить --контролы для ввода значений ваших параметров --и кнопку для запуска кода, динамически формирующего фильтр на основе введенных дначений ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 20:17 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
Afkshnik, пример динамического поиска и кода ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 20:28 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
Afkshnik, код уменьшится раза в 3, если фильтрацию делать не по-символьно, а по кнопке (останется 4 строки на поле поиска+10 строк общего типа+10 строк , если фильтрация необновляемого запроса) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 20:32 |
|
Проблема в запросе с параметром в Access!!!
|
|||
---|---|---|---|
#18+
Afkshniksdku, Я так понимаю этот код пишется в режиме sql в запросе?Этот код пишется на событии нажатия кнопки в той форме,которую Вы создаете.Еще исправьте: или пробел добавьте после WHERE,или 5 вместо 6 в MID Зачем именно запрос? Гляньте это-форма "таблица1": ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2018, 21:30 |
|
|
start [/forum/topic.php?fid=45&fpage=48&tid=1611321]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 412ms |
0 / 0 |