Учитывая, что я создал форму доступа с ListBox;property > other > Multi Select = Extended
;который допускает несколько вариантов выбора.
Пользователь выбирает несколько элементов.
Нажатие кнопки, которая создает отчет в «Предварительном просмотре»;но этот отчет основан на запросе, а запрос основан на значениях в форме.
Это достигается с помощью этого в запросе при просмотре в Access Query Design View (не SQL):
Like ([forms]![padc]![V2])
Если имя формы padc
и значение для сравнения V2
.
Ранее, вместо ListBox, который мог бы отображать 10 параметров, V2
было просто полемс одним значением.Пользователь может либо ввести частичное значение, например jack*
, и отчет будет извлекать каждый экземпляр, где это значение начинается с jack
;было ли это jack
, или jackie
, или jacko
, или jackson
, и т. д. Часть этого LIKE
позволила "нечеткой" логике, приводящей к различным результатам.Запрос будет выполнен, и в отчете будут показаны все записи, начиная с jack
.
Моя цель, действительно, состоит в том, чтобы пользователь выбрал один, два или три или все доступные параметры в этом поле, и чтобы отчет отвечал правильно.
Я полагаю, что ListBoxпозвольте мне сделать это, при условии, что у меня есть все правильные имена в таблице, которая является источником доступных опций для выбора.
Я установил список в «множественный выбор», чтобы включить несколько вариантов выбора в форме.Форма счастлива.Он может позволить мне щелкнуть / выделить один или несколько элементов из списка.
Запрос не устраивает.
Для поля V2 ни
Like ([forms]![padc]![V2])
, ни
=([forms]![padc]![V2])
не будут извлекать записи для заполнения отчета;независимо от того, выбрано ли одно значение в ListBox или несколько значений.(Like
= нечетко, а =
означает точное совпадение.)
Не работает ни одна.
Конечно, если запрос не будет выполнен, то отчет не будет выполнен,
Как я могу написать правильный запрос в Access, используя «Query View = Design View» и / или SQL, чтобы заставить его работать правильно?
Если ответ «это не может бытьсделано без использования VBA ", затем, пожалуйста, укажите мне решение VBA, которое может понять 5-летний, потому что у меня нет опыта использования VBA.
Люди рекомендовали мне использовать VBA;в частности, я должен каким-то образом включить функцию «IN()
IN»;но я не понимаю это решение вообще.
Я признаю, что был невежественен;не глупый;но в неведении.