Foxtable(狐表)用户栏目专家坐堂 → 如何实现跨表多表统计?


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

主题:如何实现跨表多表统计?

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
如何实现跨表多表统计?  发帖心情 Post By:2020/1/16 16:35:00 [只看该作者]

项目:库存表,用跨表统计库存量,字段,产品编号,产品名称,单位,入库数量,出库数量,库存数,期未数
1,用下面代码,只实现一个,没实现,入库数量,出库数量。计算出来库存数,期未数是库存数?
If MainTable.Name = "库存表" Then
    DataTables("库存表").DataRows.Clear()
    For Each nm As  String  In DataTables("入库明细").GetValues("产品名称")
        Dim dr As DataRow = DataTables("库存表").addnew( )
        Dim nm As String = dr("产品编号") & "|" & dr("产品名称")
        dr("产品名称") = nm
        dr("入库_数量") = DataTables("入库明细").Compute("Sum(数量)","产品名称 = '" & nm & "'")
        dr("入库_金额") = DataTables("入库明细").Compute("Sum(金额)","产品名称 = '" & nm & "'")
    Next
    
End If


If MainTable.Name = "库存表" Then
    DataTables("库存表").DataRows.Clear()
    For Each nk As  String  In DataTables("出库明细").GetValues("产品名称")
        Dim dr As DataRow = DataTables("库存表").addnew( )
        Dim nm As String = dr("产品编号") & "|" & dr("产品名称")
        dr("产品名称") = nk
        dr("出库_数量") = DataTables("出库明细").Compute("Sum(数量)","产品名称 = '" & nk & "'")
        dr("出库_金额") = DataTables("出库明细").Compute("Sum(金额)","产品名称 = '" & nk & "'")
    Next
    
End If

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


加好友 发短信
等级:超级版主 帖子:105877 积分:538442 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/16 16:42:00 [只看该作者]

If MainTable.Name = "库存表" Then
    DataTables("库存表").DataRows.Clear()
    For Each nm As  String  In DataTables("入库明细").GetValues("产品名称")
        Dim dr As DataRow = DataTables("库存表").addnew( )
        Dim nm As String = dr("产品编号") & "|" & dr("产品名称")
        dr("产品名称") = nm
        dr("入库_数量") = DataTables("入库明细").Compute("Sum(数量)","产品名称 = '" & nm & "'")
        dr("入库_金额") = DataTables("入库明细").Compute("Sum(金额)","产品名称 = '" & nm & "'")
    Next
        For Each nk As  String  In DataTables("出库明细").GetValues("产品名称")
        Dim dr As DataRow = DataTables("库存表").find("产品名='" & nk & "'")
if dr is nothing then
        dr = DataTables("库存表").addnew( )
        dr("产品名称") = nk
end if
        dr("出库_数量") = DataTables("出库明细").Compute("Sum(数量)","产品名称 = '" & nk & "'")
        dr("出库_金额") = DataTables("出库明细").Compute("Sum(金额)","产品名称 = '" & nk & "'")
    Next
End If


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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/1/17 23:30:00 [只看该作者]

1. Dim nm As String = dr("产品编号") & "|" & dr("产品名称"),这个报错?
2.如何实现其他字段,如“产品编号,规格型号,单位”?
图片点击可在新窗口打开查看此主题相关图片如下:库存1.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:105877 积分:538442 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/18 8:56:00 [只看该作者]

For Each nm As  String  In DataTables("入库明细").GetValues("产品名称")
        Dim dr As DataRow = DataTables("库存表").addnew( )
dim dr2 as datarow = DataTables("入库明细").find("产品名称='" & nm &"'")
        dr("产品名称") = nm
        dr("产品编号") = dr2("产品编号") 
        dr("入库_数量") = DataTables("入库明细").Compute("Sum(数量)","产品名称 = '" & nm & "'")
        dr("入库_金额") = DataTables("入库明细").Compute("Sum(金额)","产品名称 = '" & nm & "'")
    Next

 回到顶部