以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]复杂的时间判断及计算  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=104588)

--  作者:jyh7081
--  发布时间:2017/8/1 14:11:00
--  [求助]复杂的时间判断及计算

我想在DataColChanged代码中加一项判断及计算。谢谢版主!
1、如果[中止开始]填入数据,那么[中止]为true;
                               [应结案日期]=nothing(结案日期停止计算)
                               [结案提醒]=nothing(取消提醒)
2、如果[中止结束]填入数据,那么[中止]为false;
                               [应结案日期]=从[中止结束]的日期重新起算:(审限180日或90日+延期时间)-([中止开始]-[立案日期])
                               [结案提醒]代码按原有的

 

 


图片点击可在新窗口打开查看此主题相关图片如下:image 1.jpg
图片点击可在新窗口打开查看

 

附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日期计算-cs.table


--  作者:有点甜
--  发布时间:2017/8/1 14:21:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1452.htm

 

http://www.foxtable.com/webhelp/scr/1337.htm

 


--  作者:jyh7081
--  发布时间:2017/8/1 14:36:00
--  

甜版主,我是按这个写的,再嵌套一层就写不出来了。

 

我的代码:

Select Case e.DataCol.Name    \'结案到期提醒
Case "立案日期","应结案日期","延期时间","结案日期","结案提醒","审判程序"
If e.DataRow.IsNull("立案日期") Then
e.DataRow("应结案日期") = Nothing
ElseIf  e.DataRow("审判程序") = "一审" Then
e.DataRow("应结案日期") = e.DataRow("立案日期").AddDays(e.DataRow("延期时间")).AddDays(180)
If e.DataRow.IsNull("结案日期") = True AndAlso e.DataRow("应结案日期") >= Date.Today  Then \'未结案,未到期
e.DataRow("结案提醒") = (Cdate(e.DataRow("应结案日期")) - Date.Today).TotalDays
Else
e.DataRow("结案提醒") = Nothing
End If

ElseIf e.DataRow("审判程序") = "二审" Then
e.DataRow("应结案日期") = e.DataRow("立案日期").AddDays(e.DataRow("延期时间")).AddDays(90)
If e.DataRow.IsNull("结案日期") = True AndAlso e.DataRow("应结案日期") >= Date.Today Then
e.DataRow("结案提醒") = (Cdate(e.DataRow("应结案日期")) - Date.Today).TotalDays
Else
e.DataRow("结案提醒") = Nothing
End If
End If
End Select


--  作者:有点甜
--  发布时间:2017/8/1 15:00:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日期计算-cs.table