以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  计算不同行的天数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=143725)

--  作者:yangwenghd
--  发布时间:2019/12/2 17:18:00
--  计算不同行的天数
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计算时间.table

老师计天列怎么等于,新增行的当天日期减 相同序号的的一个人日期。

比如新建一行,然后编号列内容判断有没之前相同的,如果没有相同的 计天列为0
                                                如果有相同的编号,计天列就等于,新建行当天减去和想编号列相同的第一行的开始日期的天数。感谢老师了。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191202165807g.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/12/2 17:33:00
--  
datacolchanged事件

Select Case e.DataCol.Name
    Case "序号","开始日期"
        If e.DataRow.IsNull("序号") OrElse e.DataRow.IsNull("开始日期")
        Else
            Dim d As Date = e.DataTable.Compute("min(开始日期)","序号 = \'" & e.DataRow("序号") & "\' and _Identify<>" & e.DataRow.IsNull("_Identify"))
            If d <> Nothing Then
                Dim tp As TimeSpan = cdate(e.DataRow("开始日期")) - d
                e.DataRow("计天") = tp.TotalDays
            End If
        End If
End Select

--  作者:yangwenghd
--  发布时间:2019/12/2 20:23:00
--  
老师,怎么可以把这段代码放到daterowadded 呀? 感谢 感谢 
If e.DataCol.Name = "事件编号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("事件编号 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        Select Case e.DataCol.Name
            Case "事件编号","进行_开始日期"
                If e.DataRow.IsNull("事件编号") OrElse e.DataRow.IsNull("进行_开始日期")
                Else
                    Dim d As Date = e.DataTable.Compute("min(进行_开始日期)","事件编号 = \'" & e.DataRow("事件编号") & "\' and _Identify<>" & e.DataRow.IsNull("_Identify"))
                    If d <> Nothing Then
                        Dim tp As TimeSpan = cdate(e.DataRow("进行_开始日期")) - d
                        e.DataRow("进行_用天") = tp.TotalDays
                    End If
                End If
        End Select
        \'e.Cancel = True
    Else
        e.DataRow("进行_用天")="0"
    End If
End If

[此贴子已经被作者于2019/12/2 20:40:09编辑过]

--  作者:有点蓝
--  发布时间:2019/12/2 20:53:00
--  
这种用法只能放到datacolchanged事件
--  作者:yangwenghd
--  发布时间:2019/12/2 20:56:00
--  
谢谢老师,有没什么办法判断添加的行的事件编号列是否有重复的呀? 需要最后判断,感谢 

--  作者:yangwenghd
--  发布时间:2019/12/2 21:29:00
--  
谢谢老师,我把两段代码分开放在两个事件里面,这样就解决了。感谢