我最近遇到了一个问题。我在MS Access数据库中拥有的表之一包含多个字段,但主要重点是自动编号字段和日期字段。当我尝试通过Max(autonumber)函数和包含日期字段的where子句应用Select查询时,将显示错误的值,或者显示为空列。一旦我从where子句中删除了date字段,该值就会被很好地返回。我的查询已附上。任何帮助将不胜感激。
SELECT MAX(serial) AS Expr1
FROM coaDetails
WHERE (((coaDetails.[title])='CLAIMS')AND ((coaDetails.[dates])=#04/08/2018#));
上面的查询,序列号是自动编号,日期是日期/时间,格式为dd / mm / yyyy
查询中没有错误,但只是给出了错误的值。日期条件一经删除,它就会产生结果。
答案 0 :(得分:2)
为日期值的字符串表达式使用mm / dd / yyyy或yyyy / mm / dd格式:
WHERE (((coaDetails.[title])='CLAIMS')AND ((coaDetails.[dates])=#2018/08/04#));
答案 1 :(得分:2)
在SQL代码中,日期必须采用美国格式:#mm/dd/yyyy#
。在查询设计网格中(背面是SQL代码的用户友好图形视图),格式取决于您的区域设置。
因此,只需先使用月份:
SELECT MAX(serial) AS Expr1
FROM coaDetails
WHERE (((coaDetails.[title])='CLAIMS')AND ((coaDetails.[dates])=#08/04/2018#));