Foxtable(狐表)用户栏目专家坐堂 → 请问如何改写成IF代码


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

主题:请问如何改写成IF代码

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


加好友 发短信
等级:小狐 帖子:388 积分:3212 威望:0 精华:0 注册:2017/4/2 19:33:00
请问如何改写成IF代码  发帖心情 Post By:2018/6/4 18:35:00 [只看该作者]

以下代码如何改写为IF函数代码,请老师指点:

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

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:388 积分:3212 威望:0 精华:0 注册:2017/4/2 19:33:00
我这样写IF语句,提示错误,应该怎样改?  发帖心情 Post By:2018/6/4 20:35:00 [只看该作者]

我这样写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
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:388 积分:3212 威望:0 精华:0 注册:2017/4/2 19:33:00
用以下代码可以得到结果,但其余显示0  发帖心情 Post By:2018/6/4 20:56:00 [只看该作者]

我用以下代码可以得到结果,但没有数据的“使用天数”列会显示为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编辑过]

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部