Foxtable(狐表)用户栏目专家坐堂 → 日期之间计算


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

主题:日期之间计算

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


加好友 发短信
等级:幼狐 帖子:164 积分:1377 威望:0 精华:0 注册:2018/7/18 18:48:00
日期之间计算  发帖心情 Post By:2018/8/22 13:48:00 [只看该作者]

老师好:
我想计算各车间的生产周期,代码编写如下:

Select Case e.DataCol.Name
    Case "发出日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("完成日期") Then
           Dim tp As TimeSpan = Date.today - CDate(e.DataRow("发出日期"))
            e.DataRow("生产周期") = tp.TotalDays
        Else
            Dim tp As TimeSpan = dr("完成日期") - dr("发出日期") 
            dr("生产周期") = tp.TotalDays
        End If
End Select
请问以上代码是否有问题?请帮忙修改

[此贴子已经被作者于2018/8/22 13:50:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107285 积分:545686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/22 13:51:00 [只看该作者]

Select Case e.DataCol.Name
    Case "发出日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("完成日期") Then
            Dim tp As TimeSpan = Date.today - CDate(dr("发出日期"))
            dr("是否拖期") = tp.TotalDays
        ElseIf dr.IsNull("发出日期") = False
            Dim tp As TimeSpan = CDate(dr("完成日期")) - CDate(dr("发出日期") )
            dr("生产周期") = tp.TotalDays
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
BATASC750206
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:164 积分:1377 威望:0 精华:0 注册:2018/7/18 18:48:00
生产周期计算  发帖心情 Post By:2018/8/22 14:27:00 [只看该作者]

图片点击可在新窗口打开查看提示“调用目标出错,列”生产周期“为只读”

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107285 积分:545686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/22 14:30:00 [只看该作者]

列”生产周期“改文风数据列,不能使用表达式列

 回到顶部
帅哥哟,离线,有人找我吗?
BATASC750206
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:164 积分:1377 威望:0 精华:0 注册:2018/7/18 18:48:00
周期计算  发帖心情 Post By:2018/8/22 15:38:00 [只看该作者]

你好!
     改过来了,还是不计算,请问还要做何处理?
Select Case e.DataCol.Name
    Case "发出日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("完成日期") Then
            Dim tp As TimeSpan = Date.today - CDate(dr("发出日期"))
            dr("生产周期") = tp.TotalDays
        ElseIf dr.IsNull("发出日期") = False
            Dim tp As TimeSpan = CDate(dr("完成日期")) - CDate(dr("发出日期") )
            dr("生产周期") = tp.TotalDays
        End If
End Select
[此贴子已经被作者于2018/8/22 15:45:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107285 积分:545686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/22 16:07:00 [只看该作者]

提示什么错误?"发出日期","完成日期"也不能是表达式列

 回到顶部