Foxtable(狐表)用户栏目专家坐堂 → 根据更改列进行计算


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

主题:根据更改列进行计算

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


加好友 发短信
等级:婴狐 帖子:4 积分:186 威望:0 精华:0 注册:2011/9/17 0:04:00
根据更改列进行计算  发帖心情 Post By:2014/4/25 16:51:00 [只看该作者]

订单表:包含订单号,维保年限列
设备信息表:安装日期,过保日期,订单号列

要求当输入安装日期后,过保日期自动计算,公式为安装日期+(维保年限*365)

我在设备信息表的表属性内,DataColChanged事件中,

If e.DataCol.Name = "安装日期" Then 
    If e.DataRow.IsNull("安装日期") Then 
        e.DataRow("过保日期") = Nothing 
    Else
        
e.DataRow("过保日期") = e.DataRow("安装日期") +这里不会写了
    End If
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/25 17:00:00 [只看该作者]

这样改

 

 If e.DataCol.Name = "安装日期" Then
    If e.DataRow.IsNull("安装日期") Then
        e.DataRow("过保日期") = Nothing
    Else     
        Dim fdr As DataRow = DataTables("订单表").Find("订单号列 = '" & e.DataRow("订单号") & "'")
        If fdr IsNot Nothing Then
            e.DataRow("过保日期") = e.DataRow("安装日期") + fdr("维保年限列") * 365
        End If
    End If
End If

[此贴子已经被作者于2014-4-25 17:01:59编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/4/25 17:05:00 [只看该作者]

If e.DataCol.Name = "安装日期" Then
    If e.DataRow.IsNull("安装日期") Then
        e.DataRow("过保日期") = Nothing
    Else     
        Dim fdr As DataRow = DataTables("订单表").Find("订单号列 = '" & e.DataRow("订单号") & "'")
        If fdr IsNot Nothing Then

            e.DataRow("过保日期") = e.DataRow("安装日期").AddYears(fdr("维保年限列"))
        End If
    End If
End If

 

 

http://www.foxtable.com/help/topics/1424.htm

http://www.foxtable.com/help/topics/1337.htm

 

[此贴子已经被作者于2014-4-25 17:07:27编辑过]

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


加好友 发短信
等级:婴狐 帖子:4 积分:186 威望:0 精华:0 注册:2011/9/17 0:04:00
  发帖心情 Post By:2014/4/28 21:06:00 [只看该作者]

感谢二位,两个都可以实现,学习了。

 回到顶部