以文本方式查看主题

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

--  作者:tennis
--  发布时间:2019/5/16 11:31:00
--  [求助]请问 在表结构中 迄日=起日+天数的表达式
如题
[此贴子已经被作者于2019/5/16 11:31:44编辑过]

--  作者:有点甜
--  发布时间:2019/5/16 11:36:00
--  

参考

 

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

 


--  作者:tennis
--  发布时间:2019/5/16 11:40:00
--  
3Q!! 表结构中无法直接表达式设定吗?
[此贴子已经被作者于2019/5/16 11:40:21编辑过]

--  作者:tennis
--  发布时间:2019/5/16 13:07:00
--  
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 +1
        End If
    Case "天数"
    Dim dr As DataRow = e.DataRow
        If dr.IsNull("起日") Then
            dr("迄日") = Nothing
        Else
            dr("迄日") = dr("起日").AddDays(dr("天数"))
        End If
End Select
错误无法执行,跳出FT
[此贴子已经被作者于2019/5/16 13:08:35编辑过]

--  作者:有点甜
--  发布时间:2019/5/16 13:15:00
--  

看看

 

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

 


--  作者:tennis
--  发布时间:2019/5/16 13:36:00
--  
加了CDATE 一样错
--  作者:有点甜
--  发布时间:2019/5/16 13:39:00
--  

1、报什么错?

 

2、实例发上来测试


--  作者:tennis
--  发布时间:2019/5/16 13:52:00
--  

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

--  作者:tennis
--  发布时间:2019/5/16 14:07:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作日期.foxdb


--  作者:有点甜
--  发布时间:2019/5/16 15:24:00
--  
systemready = False
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 = CDATE(dr("迄日")) - CDATE(dr("起日"))
            dr("天数") = tp.TotalDays +1
        End If
    Case "天数"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("起日") Then
            dr("迄日") = Nothing
        Else
            dr("迄日") = dr("起日").AddDays(dr("天数"))
        End If
End Select
systemready = True