以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问如何改写成IF代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119952)

--  作者:zyxhx
--  发布时间:2018/6/4 18:35:00
--  请问如何改写成IF代码
以下代码如何改写为IF函数代码,请老师指点:

Dim d1 As Date = e.DataRow("起始日期")
Dim d2 As Date = e.DataRow("结束日期")
Dim t As TimeSpan = d2 - d1
e.DataRow("使用天数") = t.days

--  作者:有点蓝
--  发布时间:2018/6/4 20:06:00
--  
方法一:
函数abc
dim d1 as date = args(0)
dim d2 as date = args(1)

return (d2 - d1).days

外部调用
e.DataRow("使用天数") = Functions.Execute("abc",e.DataRow("起始日期"),e.DataRow("结束日期"))


方法二
函数abc
dim dr as DataRow = args(0)
dim d1 as date = dr("起始日期")
dim d2 as date = dr("结束日期")

dr("使用天数") =  (d2 - d1).days

外部调用
Functions.Execute("abc",e.DataRow)

--  作者:zyxhx
--  发布时间:2018/6/4 20:35:00
--  我这样写IF语句,提示错误,应该怎样改?
我这样写IF语句,提示错误,应该怎样改?

Dim d1 As Date = e.DataRow("起始日期")
Dim d2 As Date = e.DataRow("结束日期")
Dim t As TimeSpan = d2 - d1
If d1.Date > "" Then
    If d2.Date > "" Then
        e.DataRow("使用天数") = t.days
    End If
End If



--  作者:zyxhx
--  发布时间:2018/6/4 20:56:00
--  用以下代码可以得到结果,但其余显示0
我用以下代码可以得到结果,但没有数据的“使用天数”列会显示为0,以下代码应该如何写,才不会显示0?

Dim d1 As Date = e.DataRow("起始日期")
Dim d2 As Date = e.DataRow("结束日期")
Dim t As TimeSpan = d2 - d1
e.DataRow("使用天数") = t.days


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

[此贴子已经被作者于2018/6/4 21:01:58编辑过]

--  作者:有点蓝
--  发布时间:2018/6/4 20:57:00
--  
使用IF语句的目的是什么?这个意思?

Dim d1 As Date = e.DataRow("起始日期")
Dim d2 As Date = e.DataRow("结束日期")
Dim t As TimeSpan 
If d1.Date > d2.Date Then
    t  = d1 - d2
Else
    t  = d2 - d1
End If
e.DataRow("使用天数") = t.days