以文本方式查看主题

-  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=124030)

--  作者:湛江智
--  发布时间:2018/8/29 10:58:00
--  [求助]紧前工作结束日期等于紧后工作开始日期

紧前工作结束日期等于紧后工作开始日期,也就是下一行的紧前工作开始日期等于上一行计划完成日期

下面代码怎么修改 求助,谢谢

Select Case e.DataCol.Name
    Case "项目子任务_计划完成日期","紧前工作完成日期"
Dim drf As DataRow = e.DataRow
If drf.IsNull("项目子任务_计划完成日期") = False Then

        For Each dr As DataRow In e.DataTable.Select("[_SortKey] >= " & e.DataRow("_SortKey"))
            Dim Val1 As Double = e.DataTable.Compute("Sum(项目子任务_计划完成日期)","[_SortKey] <= " & dr("_SortKey"))
            Dim Val2 As Double = e.DataTable.Compute("Sum(紧前工作完成日期)","[_SortKey] <= " & dr("_SortKey"))
            Val2 =  Val1
        Next

End If
End Select

 

 


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:紧前工作结束日期等于紧后工作开始日期.foxdb

[此贴子已经被作者于2018/8/29 11:11:24编辑过]

--  作者:有点甜
--  发布时间:2018/8/29 11:29:00
--  
Select Case e.DataCol.Name
    Case "项目子任务_计划完成日期"
        Dim drf As DataRow = e.DataRow
        If drf.IsNull("项目子任务_计划完成日期") = False Then           
            For Each dr As DataRow In e.DataTable.Select("任务标题 is not null and [_SortKey] >= " & e.DataRow("_SortKey"))
                Dim d As Date = e.DataTable.Compute("max(项目子任务_计划完成日期)","[_SortKey] < " & dr("_SortKey"))
                dr("紧前工作完成日期") = d
            Next           
        End If
End Select