Sql MS Access:查询表达式中出现语法错误(缺少运算符)

Sql MS Access:查询表达式中出现语法错误(缺少运算符),sql,ms-access,syntax-error,Sql,Ms Access,Syntax Error,在MS Access中,我在该公式的查询表达式中不断遇到语法错误(缺少运算符) IIf([Employee List].[Employee Type]=”Employee”,Format([Employee List].[Date of Birth],'dd/mm/yyyy'),’01/01/1910’) AS Date of Birth 基本上对于员工类型employee在员工列表中显示其出生日期,否则对于其他所有人显示01/01/1910 有人知道我为什么以及如何解决这个问题吗?我认为你的

MS Access
中,我在该公式的查询表达式中不断遇到语法错误(缺少运算符)

IIf([Employee List].[Employee Type]=”Employee”,Format([Employee List].[Date of Birth],'dd/mm/yyyy'),’01/01/1910’) AS Date of Birth
基本上对于员工类型
employee
在员工列表中显示其出生日期,否则对于其他所有人显示
01/01/1910


有人知道我为什么以及如何解决这个问题吗?

我认为你的话是错误的。MS Access对字符串使用双引号:

IIf([Employee List].[Employee Type] = "Employee",
    Format([Employee List].[Date of Birth], "dd/mm/yyyy"),
    "01/01/1910"
   ) AS DateofBirth

此外,列别名需要是一个单词或转义。

是否确实使用了3种不同的引号:“和

使用

别名
出生日期
也应括在方括号内,因为它包含空格,但由于它已作为列存在于表中,因此会产生循环引用错误,因此将其更改为类似以下内容:

IIf(
  [Employee List].[Employee Type] = 'Employee',
  Format([Employee List].[Date of Birth], 'dd/mm/yyyy'),
  '01/01/1910'
) AS Date_of_Birth

@Analyst1…如果这是您的首选答案,您可以接受。如果在表达式中使用一致,MS Access可以使用单引号。问题可能是列别名中的空格。