设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: 明镜
打印 上一主题 下一主题

[查询] 这个“结束日期”的公式如何修改?

[复制链接]
跳转到指定楼层
1#
发表于 2008-12-15 23:49:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
在表中有三个字段,第一个是月,第二个是日,第三个是开始日期(“月”和“日”为数字类型,“开始日期”为日期/时间类型)。然后再做一个查询,目的是查“结束日期”,要求是根据“开始时间”加上“年”和“月”,自动得出“结束日期”,用的公式是“结束日期: DateAdd("d",-1,DateAdd("m",表!月,DateAdd("yyyy",表!年,表!开始日期)))”。但这个公式遇到“开始日期”为2008年2月29日的时候,得出的“结束日期”就比正确的少了一天。请问这个公式如何修改?请高手指点一下。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2008-12-16 00:07:43 | 显示全部楼层
谢版主,但试了一下,还是原来的问题,能否再想一个办法吗?
3#
 楼主| 发表于 2008-12-16 08:22:13 | 显示全部楼层
试了一下,有时可以用,但有时计算还是出现错误!

[ 本帖最后由 明镜 于 2008-12-16 08:27 编辑 ]
4#
 楼主| 发表于 2008-12-16 08:35:53 | 显示全部楼层
如果查询1-3年的少了一天,但查询4年以上的就正确的,有什么办法能解决呢?

传一个附件上来,请高手看一看,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
 楼主| 发表于 2008-12-16 10:05:30 | 显示全部楼层
查询的要求是,根据"开始日期"加上"年"和"月"得出结束日期,如开始日期是2007年1月1日加上1年1个月,那么结束日期就应当是2008年1月31日,如加上1年2个月就是2008年2月29日了(是计算实际的年月),
版主说的很对,因为有润年的原因,遇到2月29日就出现问题了.如开始日期为2008年2月29日加上1年应当是2009年2月28日,但查询的结果却是2009年2月27日.这说明这个问题在查询中很难做到,但在VBA中应当可以解决的,但要如何解决确是颇为困难的.
6#
 楼主| 发表于 2008-12-16 10:18:46 | 显示全部楼层
谢谢版主提供思路,能否再提供这段VBA?等待中.
7#
 楼主| 发表于 2008-12-16 20:05:36 | 显示全部楼层
谢了,   试了一下,   还是没用,   是否直接帮助做到Access中?
8#
 楼主| 发表于 2008-12-16 22:34:33 | 显示全部楼层
我在窗体上做了"结束日期"的控件,把属性设为更新前,然后运行这段代码,但没显示,是我做得不对,还是其他方面有问题?请指教.
9#
 楼主| 发表于 2008-12-16 23:09:23 | 显示全部楼层
这个上传的文件已基本上可以用了,但就是月份是12个月或者它的倍数时,显示不正确( 少了一天)

[ 本帖最后由 明镜 于 2008-12-16 23:17 编辑 ]
10#
 楼主| 发表于 2008-12-17 13:32:04 | 显示全部楼层
感谢版主.通过这个例子,对VBA有所长进.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-1 10:25 , Processed in 0.099568 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表