Foxtable(狐表)用户栏目专家坐堂 → 求教老师---关于日期和统计的问题


  共有1875人关注过本帖树形打印复制链接

主题:求教老师---关于日期和统计的问题

帅哥哟,离线,有人找我吗?
sgkyzfh
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/10/5 9:46:00 [只看该作者]

谢谢老师,这是我中秋收到的最好礼物。我的项目基本做完了。现在我将这次全代码上传如下,适合这个表的需求。


If e.DataCol.Name = "物料号码" Then ‘如果物料码发生变化
    If e.DataRow.IsNull("物料号码") Then '判断物料码是否为空
        e.DataRow("最早日期") = Nothing ’最早日期为空
        e.DataRow("最晚日期") = Nothing ‘最晚日期为空时不做运算。
    Else '如果上述列不为空
        e.DataRow("最早日期") = DataTables("AA").Compute("min(日期)","物料号码='" & e.DataRow("物料号码") & "'") 列:最早日期对于AA表里查找日期最早的。"物料号码='" & e.DataRow("物料号码)是指所有的物料号码。
        e.DataRow("最晚日期") = DataTables("AA").Compute("max(日期)","物料号码='" & e.DataRow("物料号码") & "'")
    
End If
End If

Select Case e.DataCol.Name
    Case "最早日期","最晚日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("最早日期") OrElse dr.IsNull("最晚日期") Then
            dr("天数") = Nothing
        Else
            Dim tp As TimeSpan = dr("最晚日期") - dr("最早日期") 
            dr("天数") = tp.TotalDays
        End If
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/5 9:50:00 [只看该作者]

优化一下

Select Case e.DataCol.Name
    Case "物料号码"
        If e.DataRow.IsNull("物料号码") Then '判断物料码是否为空
            e.DataRow("最早日期") = Nothing '最早日期为空
            e.DataRow("最晚日期") = Nothing '最晚日期为空时不做运算.
        Else '如果上述列不为空
            e.DataRow("最早日期") = DataTables("AA").Compute("min(日期)","物料号码='" & e.DataRow("物料号码") & "'") 列:最早日期对于AA表里查找日期最早的."物料号码='" & e.DataRow("物料号码)是指所有的物料号码.
            e.DataRow("最晚日期") = DataTables("AA").Compute("max(日期)","物料号码='" & e.DataRow("物料号码") & "'")
            
        End If
    Case "最早日期","最晚日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("最早日期") OrElse dr.IsNull("最晚日期") Then
            dr("天数") = Nothing
        Else
            Dim tp As TimeSpan = dr("最晚日期") - dr("最早日期")
            dr("天数") = tp.TotalDays
        End If
End Select

 回到顶部
总数 12 上一页 1 2