上一星期(七天之内):
select * from art where [now] between dateadd("ww",-1,now()) and now()
上一星期(上周一至周日):
select * from art where [now] between dateadd("d",-Weekday(Now())-5,now()) and dateadd("d",-Weekday(Now())+1,now())
上一月(上月的今天至今天):
select * from art where [now] between dateadd("m",-1,now()) and now()
上一月(1号至最后一天):
select * from art where [now] between dateserial(year(now),month(now())-1,1) and dateserial(year(now),month(now()),1-1)
测试一下:
select dateadd("d",-Weekday(Now())-5,now())select dateadd("d",-Weekday(Now())+1,now())
这两个得到的是不是上周一和上周日的日期,如果是,那就是你的表里没有符合条件的数据。
SELECT [art].*
FROM art
WHERE now()-[art].[now]<7 //1个月的话此处为30
ORDER BY [art].[now];
在ACCESS数据库中,日期时间的比较操作符主要有>= 、<=、=三个,在时间比较时在时间两端要加上 # .要比较上个星期, WHERE 子句写成:dateandtime between ((now()+(Weekday(now)-7))-6) and (now()-7)+Weekday(now()) Weekday函数求星期几的函数.
另外你还可以考虑用 DateDiff( 间隔字符, 日期1, 日期2 [,firstdayofweek[, firstweekofyear]])这个函数 .
更多信息请查看下面网站,应该可以帮你解决问题.