请教关于ACCESS数据库的问题

youok99 2006-03-18 07:28:22
PARAMETERS [@in1] Text ( 255 ),[@late_mins] IEEEDouble
UPDATE Report_Day AS R SET R.in1 = [@in1], R.late_mins = iif(time(@in1)-time("7:40")>0,10,[@late_mins])
WHERE R.emp_id=[@emp_id] AND R.sign_date=[@sign_date];

in1为早上报来时间,late_mins为迟到分钟,如果大于7:40为迟到,计算迟到分钟,

标出来得那个地方得语句对么?
...全文
123 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ZOU_SEAFARER 2006-03-21
具体我觉得应该这样写
Debug.Print IIf(CDate([@in1]) > CDate("7:40"), -DateDiff("n", [@in1], "7:40"), 0)
datediff 前面应该加一个负号!返回正值
回复
ZOU_SEAFARER 2006-03-21
DateDiff 楼上写错了,呵呵高手都不句小节的
回复
of123 2006-03-21
PARAMETERS [@in1] Text ( 255 )
UPDATE Report_Day AS R SET R.in1 = [@in1], R.late_mins = IIf(CDate([@in1]) > Cdate("7:40"), DataDiff('n', [@in1], '7:40'), 0)
回复
faysky2 2006-03-18
用DateDiff函数可以求得两个时间的差:

DateDiff("n", "7:40", "7:42:01") 结果为2
DateDiff("s", "7:40", "7:40:15") 结果为15

这是在vb里的写法,如果写到sql语句里,把双引号改为单引号就行了:


DateDiff('n', '7:40', '7:42:01') 结果为2
DateDiff('s', '7:40', '7:40:15') 结果为15
回复
youok99 2006-03-18
R.late_mins = iif(time(@in1)-time("7:40")>0,10,[@late_mins])
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2006-03-18 07:28
社区公告
暂无公告