Office中国论坛/Access中国论坛

标题: 求助!日期函数问题 [打印本页]

作者: 月之狼神    时间: 2007-8-7 11:27
标题: 求助!日期函数问题
我做了一个查询,其中有日期字段,我想要对该日期字段的条件定义为每年每月的第一天或最后一天,请问该日期函数应该怎么写.
作者: jicheng    时间: 2007-8-7 13:29
format(format(日期,"yyyy")  & "-01-01" ,"yyyy-mm-dd")

再减1就是第后一天了
作者: 月之狼神    时间: 2007-8-7 13:35
谢谢您的回复,不过好像不对吧,我要的是每年每月的第一天或最后一天,不是每年第一天
作者: wu8313    时间: 2007-8-7 15:57
SELECT 表1.编号, 表1.名称, 表1.日期, CStr(Format([表1]![日期],"dd")) AS 表达式1
FROM 表1
WHERE (((CStr(Format([表1]![日期],"dd")))="01" Or (CStr(Format([表1]![日期],"dd")))="28" Or (CStr(Format([表1]![日期],"dd")))="30" Or (CStr(Format([表1]![日期],"dd")))="31"));
===========================
作者: t小宝    时间: 2007-8-7 16:05
改成这样子不知行不行:

SELECT 表1.编号, 表1.名称, 表1.日期
FROM 表1
WHERE day([表1]![日期])=1 Or day([表1]![日期]+1)=1

作者: hi-wzj    时间: 2007-8-7 16:41
我的专栏中有例子,点开我的签名网址可以看到。
作者: 月之狼神    时间: 2007-8-7 18:29
感谢各位高手的帮忙,虽然你们写的不是我想要的,但又让我大长了见识
问题我采用原始的手工方法解决了,虽然只能定义几年,但也不错.
作者: jsf2008    时间: 2008-2-29 16:16
顶,学习~~~~~~~~~~~~
作者: jynj    时间: 2008-2-29 20:55
其实很简单,你如果要一年的最后一天,只要加一年减一天即可,如果要一月的最后一天,只要加一个月减一天就是最后一天,这样不管一年是366天还是一月是28天就不会出错了
作者: jynj    时间: 2008-2-29 20:58
原帖由 jicheng 于 2007-8-7 13:29 发表
format(format(日期,"yyyy")  & "-01-01" ,"yyyy-mm-dd")

再减1就是第后一天了

这个思路显然是正确的
不过要改成
Me.年 = DateAdd("d", -1, Format((Year(Date) + 1) & "-01-01", "yyyy-mm-dd"))

[ 本帖最后由 jynj 于 2008-2-29 21:23 编辑 ]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3