MS Access Form在SQL查询中添加“和或”运算符

问题描述

摘要我有一个MS Access 2013数据库,其中包含有关员工笔录的信息,目前正在配置一个表格,以使我们的教育工作者无需掌握sql技术或学习MS Access即可创建查询(即文本字段和下拉列表)。到目前为止,我有一些文本框字段可以使用,并允许它们搜索特定的列以获取输入的信息。

我想做的事情添加一个下拉列表,该下拉列表将在字段之间添加“和”或“或”运算符。我在弄清楚查询中的sql语法是否起作用时会遇到麻烦。

这是当前代码“培训标题”和“成绩单日期”是两个用户输入的文本框,“条件1”是我在选择“或”的表单中的下拉菜单

但是,当我尝试保存它时会遇到语法错误

MS Access Form

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

解决方法

首先,您可能必须指定参数的数据类型。

接下来,正确的语法

最后可能是:

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 "*" & Forms!QBF_Form![Training Title] & "*" 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))