Foxtable(狐表)用户栏目专家坐堂 → 多层嵌套查找计算


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

主题:多层嵌套查找计算

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/14 16:26:00 [显示全部帖子]

建议增加一个冗余字段

如果合同明细之上还有主合同,那么就在主合同增加一个字段,记录最后的合同编号

也可以在合同明细增加一个字段,记录第一份合同的编号

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/15 13:56:00 [显示全部帖子]

递归

定义递归函数名称GetDate,函数体

Dim dt As DataTable = Args(0)
Dim 合同编号 As String = Args(1)
Dim dr As DataRow = dt.find("合同编号 = '" & 合同编号 & "'")
If dr IsNot Nothing Then
    If dr.Isnull("新合同编号") Then
        Return dr("截止日期")
    Else
        Return Functions.Execute("GetDate",dt,dr("新合同编号") )
    End If
Else
    Return Nothing
End If

调用事件改为

If e.DataCol.name = "合同编号" Then
    Dim d = Functions.Execute("GetDate",DataTables("合同明细"),e.DataRow("合同编号"))
    If d IsNot Nothing Then e.DataRow("截止日期") = d
End If

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/4 8:30:00 [显示全部帖子]

参考4楼,用递归。不会就上传例子

 回到顶部