Access 2016 中表达式中的日期语法错误

Posted

技术标签:

【中文标题】Access 2016 中表达式中的日期语法错误【英文标题】:Syntax error in date in expression in Access 2016 【发布时间】:2019-10-19 12:43:04 【问题描述】:

我对 Access 不是很好,我正在创建一个简单的预订数据库,其中可用时间将排除已预订的时间。

我正在学习一个教程,它已经在工作,然后突然我收到错误:表达式中的日期语法错误

oRS.FindFirst "[ApptTime] Between #" & i - TimeValue("00:00:05") & _
  "# And #" & i + TimeValue("00:00:05") & "#"

其中 oRS 设置为 DAO.Recordset,它包含字段 CounselorID、ApptDate、ApptTime

我希望有一个可用时间列表,其中不包括已预订的时间。

【问题讨论】:

什么是i? -- 先在查询中尝试:How to debug dynamic SQL in VBA 如果将oRS.FindFirst 替换为Debug.Print 会打印什么? 【参考方案1】:

如果 i 是一天中的某个时间,请使用 DateAdd 设置间隔:

oRS.FindFirst "[ApptTime] Between DateAdd("s", -5, i) And DateAdd("s", 5, i)

【讨论】:

以上是关于Access 2016 中表达式中的日期语法错误的主要内容,如果未能解决你的问题,请参考以下文章

“条件表达式中的数据类型不匹配”错误将日期插入 Access 数据库中的日期/时间字段

Access 2010:查询表达式中的语法错误(缺少运算符)

MS ACCESS 中的表级验证表达式中的语法错误

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

MS Access Query 中的语法错误 [重复]

odbc_exec():SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 查询表达式中的语法错误(缺少运算符)