Форма MS Access для добавления оператора «И или» в SQL-запрос

#ms-access-2013

#ms-access-2013

Вопрос:

Резюме: У меня есть база данных MS Access 2013, содержащая информацию о стенограммах сотрудников, и в настоящее время я настраиваю форму, позволяющую нашим преподавателям создавать запросы без необходимости разбираться в SQL или изучать MS Access (т. Е. Текстовые поля и выпадающие списки).). Пока у меня есть несколько полей текстового поля, которые работают и позволяют им выполнять поиск по определенным столбцам введенной информации.

Что я хотел бы сделать: добавить в раскрывающемся списке, который добавит оператор «И» «Или» между полями. У меня возникли проблемы с определением синтаксиса SQL в запросе на функционирование.

Вот текущий код: Название тренинга и дата расшифровки — это два текстовых поля пользовательского ввода, а критерий 1 — это выпадающий список, который у меня есть в форме для выбора И Или

Однако при попытке сохранить его я получаю ошибки синтаксиса.

Форма MS Access

 WHERE (((User.[RN Residency]) =Forms!QBF_Form![RN Residency] Or Forms!QBF_Form![RN Residency] Is Null) 
AND 
(((Training.[Training Title]) Like "*"amp;Forms!QBF_Form![Training Title]amp; "*" Or Forms!QBF_Form![Training Title] Is Null) 
(Forms!QBF_Form![Criteria 1]) 
((Training.[Transcript Date]) Like "*"amp;Forms!QBF_Form![Transcript Date]amp;"*" Or Forms!QBF_Form![Transcript Date] Is Null))```
  

Ответ №1:

Во-первых, возможно, вам придется указать тип данных для параметров.

Далее, исправьте синтаксис

Наконец, это может быть:

 PARAMETERS
    Forms!QBF_Form![RN Residency] Text,
    Forms!QBF_Form![Training Title] Text,
    Forms!QBF_Form![Transcript Date] DateTime;

<snip>

WHERE 
    ((User.[RN Residency] = Forms!QBF_Form![RN Residency] Or Forms!QBF_Form![RN Residency] Is Null) 
    AND 
    (Training.[Training Title] Like "*" amp; Forms!QBF_Form![Training Title] amp; "*" Or Forms!QBF_Form![Training Title] Is Null) 
    AND
    (Training.[Transcript Date] = Forms!QBF_Form![Transcript Date] Or Forms!QBF_Form![Transcript Date] Is Null))