【问题标题】:MS-Access : Syntax error (missing operator) in query expressionMS-Access:查询表达式中的语法错误(缺少运算符)
【发布时间】:2019-07-31 10:57:20
【问题描述】:

我在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

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

【问题讨论】:

    标签: sql ms-access syntax-error


    【解决方案1】:

    你真的使用了 3 种不同的引号:'
    使用"'
    此外,别名 Date of Birth 应括在方括号中,因为它包含空格,但由于它已经作为表中的一列存在,因此会产生 循环引用错误,因此请将其更改为:

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

    【讨论】:

      【解决方案2】:

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

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

      另外,列别名需要是单个单词或被转义。

      【讨论】:

      • @Analyst1 。 . .如果这是您的首选答案,您可以接受。
      • 如果在表达式中一致使用,MS Access 可以使用单引号。问题可能是列别名中的空格。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2019-07-18
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多