Foxtable(狐表)用户栏目专家坐堂 → 主表怎么取子表的字段进行计算


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

主题:主表怎么取子表的字段进行计算

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


加好友 发短信
等级:幼狐 帖子:89 积分:1097 威望:0 精华:0 注册:2011/5/18 11:17:00
主表怎么取子表的字段进行计算  发帖心情 Post By:2021/12/8 17:27:00 [只看该作者]

图片点击可在新窗口打开查看

装机容量 =子表中 分类为“组件”的数量合计值*主表的组件功率
求大神指点,用了表事件也不行

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


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/8 17:42:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:89 积分:1097 威望:0 精华:0 注册:2011/5/18 11:17:00
  发帖心情 Post By:2021/12/8 20:14:00 [只看该作者]

If e.DataCol.Name = "组件功率" Then
    If e.NewValue Is Nothing Then

         e.DataRow("装机容量")=Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("光伏物料清单.物料明细表").Find("[分类] = '组件'")
        Dim m As Double = dr(sum("数量"))
        If dr IsNot Nothing
             e.DataRow("装机容量")= m * e.DataRow("组件功率")

        End If
    End If
End If

玩不懂啊  老大求助

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


加好友 发短信
等级:三尾狐 帖子:649 积分:5736 威望:0 精华:0 注册:2017/4/7 12:15:00
  发帖心情 Post By:2021/12/8 20:21:00 [只看该作者]

Compute啊

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


加好友 发短信
等级:幼狐 帖子:89 积分:1097 威望:0 精华:0 注册:2011/5/18 11:17:00
  发帖心情 Post By:2021/12/8 21:18:00 [只看该作者]

谢谢兄弟 ,太难学了 
折腾了一天,想找个师傅学习下。
If e.DataCol.Name = "组件功率" Then
    If e.NewValue Is Nothing Then

        e.DataRow("装机容量")=Nothing
    Else
        Dim dr As DataRow
       dr = DataTables("物料明细表").Find("[分类] = '组件'")

        If dr IsNot Nothing
            
            Dim sum As Double = Tables("物料明细表").Compute("Sum(数量)", "模板编号 = 'A01' and 分类 = '组件' ")
            e.DataRow("装机容量")= sum * e.DataRow("组件功率")

        End If
    End If
End If
[此贴子已经被作者于2021/12/8 21:19:21编辑过]

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


加好友 发短信
等级:三尾狐 帖子:649 积分:5736 威望:0 精华:0 注册:2017/4/7 12:15:00
  发帖心情 Post By:2021/12/8 21:22:00 [只看该作者]

Dim dr As DataRow
        dr = DataTables("物料明细表").Find("[分类] = '组件'")
        Dim m As Double = dr("数量")
        If dr IsNot Nothing
这些不觉得多余吗

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


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/9 8:39:00 [只看该作者]

If e.DataCol.Name = "组件功率" Then
    If e.NewValue Is Nothing Then
        e.DataRow("装机容量")=Nothing
    Else
         Dim sum As Double = Tables("物料明细表").Compute("Sum(数量)", "模板编号 = '" & e.DataRow("模板编号") & "' and 分类 = '组件' ")
            e.DataRow("装机容量")= sum * e.DataRow("组件功率")
    End If
End If

[此贴子已经被作者于2021/12/9 8:39:14编辑过]

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


加好友 发短信
等级:幼狐 帖子:89 积分:1097 威望:0 精华:0 注册:2011/5/18 11:17:00
  发帖心情 Post By:2021/12/9 23:52:00 [只看该作者]

谢谢各位老大!
我子表还有个计算,不知道怎么写了 
图片点击可在新窗口打开查看

Select Case  DataTables("物料明细表").DataCols("分类")
    Case  "横一"  当分类为横一时,取主表的横一的数量
        '代码一
      Dim ff As Double = Tables("物料明细表").Compute("斜梁数量_横一", 模板编号 = '  e.DataRow("模板编号")' )
      e.DataRow("数量")=  ff
   Case  "竖一 竖二" ' 当为竖一 竖二时取主表竖一 竖二之和
  Dim ff1 As Double = Tables("物料明细表").Compute("斜梁数量_竖一", 模板编号 = '  e.DataRow("模板编号")' )
  Dim ff2 As Double = Tables("物料明细表").Compute("斜梁数量_竖二", 模板编号 = '  e.DataRow("模板编号")' )
   e.DataRow("数量")=  ff1+ff2
End Select

请问这个为什么总是报错呢

[此贴子已经被作者于2021/12/9 23:53:20编辑过]

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


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/10 8:49:00 [只看该作者]

代码放到物料明细表的datacolchanged事件

Select Case  e.DataCol.name
    Case  "分类"
        If e.DataRow.isnull("分类") Then
            e.DataRow("数量") = Nothing
        Else
            Dim sum As Integer
            For Each ss As String In e.DataRow("分类").split(",")
                Dim s As String = "斜梁数量_" & e.newvalue
                If Tables("光伏物料清单").cols.contains(s)
                    sum = sum + Tables("光伏物料清单").Compute("sum(" & s & ")", 模板编号 = '  e.DataRow("模板编号")' )
                End If
            Next
            e.DataRow("数量")=  sum
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:89 积分:1097 威望:0 精华:0 注册:2011/5/18 11:17:00
  发帖心情 Post By:2021/12/10 13:40:00 [只看该作者]

图片点击可在新窗口打开查看

按照您的思路写进去,为什么显示还是0

[此贴子已经被作者于2021/12/10 13:40:03编辑过]

 回到顶部
总数 11 1 2 下一页