[access查询]用access进行两个日期之间的月(天、年)数计算
时 间:2007-10-17 16:00:10
作 者:贺德才 ID:140 城市:襄樊
摘 要:日期计算
正 文:
受人之托,帮忙设计一个培训证书管理系统,其中有一个关于证书从发证之日起24个月过期的统计,难了“access王”一阵子。经过反复试验,找到了办法。不敢独享,公布之,期望那些和我一样遇到同样问题的人少走弯路。
我在《培训信息表》里设计有“发证日期”字段。所谓“超过24个月为过期证书”,是指从发证的那一天开始到现在(系统日期)为止,少于24个月为“有效期”,大于24个月为“过期”。基于这个思路,我以《培训信息表》为基础新建一个查询,加入相关字段,再在一个空白字段处写上--月数: DateDiff("m",[发证日期],Date())。运行这个查询,证书从发证之日起到现在有几个月了就显示出来。
这个公式的解释是:“datediff”是个函数,用于根据某个日期进行年、月、日的计算,“m”表示你要计算的是月份,“发证日期”是原表中的字段名,“date()”表示当前日期。设计是完成了,但有个事理逻辑还应该搞清楚:电脑系统的计算是按整月进行的,不满一个月它会舍去,比如24个月零15天,系统仍会当作24个月统计,而超过15天的证书实际上已经是“过期证书”了。所以,如果想尽量精确的话,应该考虑将24个月拆算成天数(730天),即超过730天的为过期证书。而现在又没有计算天数怎么办呢?如果要计算天数也容易,把公式稍改一下就行了,变成--天数: DateDiff("d",[发证日期],Date())。这要看使用者有什么需求。如果要计算年数,可以改成--年数: DateDiff("yyyy",[发证日期],Date())。
重要提示:设计和使用这种软件都必须保证你的系统日期、时间是正确的!我发现有很多电脑使用者不注意自己电脑的系统时间设置。这是极端错误的。简单的操作可以不在乎电脑时间的正确与否,但使用与日期、时间有关的软件时必须注意。我曾经帮人设计过一个财务管理软件,使用近一年时间都没有问题,但有一天他突然告诉我录入财务收支数据后,统计结果不正确。我让他把数据发给我一看,发现他的系统时间不对,全部变成2003年某月某日了,而他要统计的是2006年的数据,正确才怪呢?必须注意这个问题!
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)