0

我正在使用 Ms Access,下面是我的查询

select * from travelapproval 
where CDate(datefrom1) <=  Date() 
and CDate(dateto1) >= Date()

我正在使用 datefrom1 和 dateto1 是文本类型。表明"Data type mismatch in criteria expression."

即使我尝试使用 CDate 函数,如何将它们转换为日期时间。

在此处输入图像描述

4

3 回答 3

5

假设您无法将字段类型更改为日期。

检查 datefrom1 和 dateto1 字段中是否有非日期值。

如果这样做,请使用以下方法来解决它:

CDate(IIf(IsDate([StringDate]),[StringDate],0))
于 2013-06-16T06:56:31.240 回答
2

你可以用这个

  SELECT * from travelapproval
  WHERE Format(datefrom1, "mm/dd/yyyy hh:nn:ss am/pm") <=  Date() 
  AND Format(dateto1, "mm/dd/yyyy hh:nn:ss am/pm") >=  Date() 

你可以在这里找到更多的例子和解释

于 2013-06-14T10:09:05.950 回答
0

假设日期时间字符串来自 SQL Server,以毫秒为单位,

Format(Replace([SQLSERVER_DATESTRING],".000",""),"mm/dd/yyyy hh:nn:ss am/pm")
于 2015-11-12T15:45:08.327 回答