Office中国论坛/Access中国论坛

标题: 不知错在哪里? [打印本页]

作者: cjf78    时间: 2013-4-15 16:37
标题: 不知错在哪里?
楼主:我用查询计算时间差,一过零点就不对了,不知我到底错在哪里,请楼主给予指教,非常感激!

作者: cgsilicone    时间: 2013-4-15 17:51
1、时间格式不对,修改时间格式

2、修改查询,加上判断语句

作者: aslxt    时间: 2013-4-15 18:42
同意楼上的“1”,你的表中的时间都是同一个日期的时间,所以会有负数。格式应该修改为“常规日期”
作者: cjf78    时间: 2013-4-16 17:08
感谢cgsilicone 的指点,但我试了还是不行,我要得到时间差,是以分钟来计算,8条数据,前7条都对,为什么最后一条就不对,不是我要的结果,格式修改为“常规日期”其结果更是不对了,我还求楼主和师长帮助,最好在我的附件中演示,就再好不过了,感谢!
作者: aslxt    时间: 2013-4-16 17:45
......你的表中的时间都是同一个日期的时间,所以会有负数......
作者: aslxt    时间: 2013-4-16 17:46
[attach]51648[/attach]
作者: cgsilicone    时间: 2013-4-16 17:58
本帖最后由 cgsilicone 于 2013-4-16 18:00 编辑

1、虽然格式修改为“常规日期”,但原有数据不会变(原有数据没有日期),时间数据需要修改,加上日期。
2、如果所有的时间差不超过24小时,可以不修改数据,而修改查询,加上判断语句:iif(([开始时间]<[完成时间]),DateDiff('n',[开始时间],[完成时间]),DateDiff('n',[开始时间],[完成时间])+24*60) AS 使用时间
作者: cjf78    时间: 2013-4-17 12:13
本帖最后由 cjf78 于 2013-4-17 13:36 编辑

我明白了。非常感谢aslxt 和cgsilicone 两位老师的出手,让我受益匪浅。特别是cgsilicone用的IIF语句使用操作更便利。




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