
谢谢大哥们指点......

学习让我感到快乐....

论坛让我感到温暖....
don大哥的代码虽然不会报错,但是有一个问题.
如果停止日期不为空,且当时停止的时间是10点前,
而当前结账时间是10点后,代码无法判断此行导致计算不正确.
gdtgl兄弟的代码经验证,如果开始日期为空,系统报错...其他问题同上.
不知这样修改行不行?开始日期在新建行时设为自动填写当前日期,所以不可能为空
If e.DataCol.name = "结账" Then
dim dr as datarow = e.DataRow
Dim h As integer= date.now.hour
If dr("结账") = True Then
If dr("停止日期") is Nothing Then
dr("停止日期") = today
dr("日期差")= (dr("停止日期")-dr("开始日期")).days+iif(h >10,1,0)
dr.Locked = True
End If
End If
End If
在AfterEdit里加入代码If e.Col.name = "停止日期" Then
dim dr as row = e.Row
dim h As integer= date.now.hour
dr("日期差")= (dr("停止日期")-dr("开始日期")).days+iif(h >10,1,0)
End If
[此贴子已经被作者于2008-12-6 22:05:02编辑过]