在日期字段上设置ms访问查询中的通配符格式



我的MS Access数据库中有一个日期字段DTB_VER.VER_DATUM,其中包含所有完整日期(例如2012年4月3日)。

当我用字符串格式(vb.net)创建以下查询时:

Dim sql as string =  string.format("SELECT * FROM DTB_VER WHERE VER_DATUM LIKE '{0}%-{1}%-{2}%'", day, month, year)

有了这个查询,我可以完美地搜索一天、一年或两者的组合,但一旦我输入一个月,它就会失败,我不知道为什么。

有什么想法吗?

更新:

我试过以下几种:

SELECT * FROM DTB_VER where Day(Ver_datum) like '*day*' and Month(Ver_datum) like '*month*' and year(Ver_datum) like '*year*'

同样,我可以搜索日期、年份或两者的组合(并将月份留空),但我不能搜索一个月。

您可以使用访问日期格式,例如

sql="SELECT * FROM DTB_VER WHERE VER_DATUM=#" & year & "/" & month & "-/" & day & "#"

不能将LIKE用于日期。如果你想选择一个月中的所有日子,你需要这样的东西:-

sql="SELECT * FROM DTB_VER WHERE VER_DATUM>=#" & year & "-" & month & "-01# and VER_DATUM<#" & format(dateadd("m",1,cdate(year & "/" month & "/" & day),"yyyy/mm") & "/01"

最新更新