Foxtable(狐表)用户栏目专家坐堂 → [求助] 横向显示后面数据


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

主题:[求助] 横向显示后面数据

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


加好友 发短信
等级:婴狐 帖子:33 积分:262 威望:0 精华:0 注册:2017/7/3 9:19:00
  发帖心情 Post By:2017/7/15 17:05:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:横向显示后面数据-取库存数最少.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/7/15 17:17:00 [只看该作者]

Dim dt1 As DataTable = DataTables("MRP报表")
Dim dtb As New DataTableBuilder("mrp统计表")
dtb.AddDef("成品代码", Gettype(String), 16)
dtb.AddDef("成品名称及规格", Gettype(String), 16)
Dim lbs As List(of String) = dt1.GetValues("子料类别")
For Each lb As String In lbs
    dtb.AddDef(lb & "_子料代码", Gettype(String))
    dtb.AddDef(lb & "_子料名称", Gettype(String))
    dtb.AddDef(lb & "_库存", Gettype(String))
    dtb.AddDef(lb & "_在途采购", Gettype(String))
Next
dtb.Build()
Dim dt2 As Table = Tables("mrp统计表")
For Each dm As String() In dt1.GetValues("成品代码|成品名称及规格")
    Dim nr As Row = dt2.AddNew
    nr("成品代码") = dm(0)
    nr("成品名称及规格") = dm(1)
    For Each lbei As String In dt1.GetValues("子料类别","成品代码='" & dm(0) & "' And 成品名称及规格='" & dm(1) & "'")
        Dim dr As DataRow = dt1.Find("成品代码='" & dm(0) & "' And 成品名称及规格='" & dm(1) & "' and 子料类别='" & lbei & "'","子料库存数量")
        If dr IsNot Nothing
            nr(lbei  & "_子料代码") = dr("子料代码")
            nr(lbei  & "_子料名称") = dr("子料名称及规格")
            nr(lbei  & "_库存") = dr("子料库存数量")
            nr(lbei  & "_在途采购") = dr("子料在途采购")
        End If
    Next
Next
MainTable= dt2

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


加好友 发短信
等级:婴狐 帖子:33 积分:262 威望:0 精华:0 注册:2017/7/3 9:19:00
  发帖心情 Post By:2017/7/15 17:38:00 [只看该作者]

新手,还是请老师帮在实例 中改一下吧!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:mrp20170715提问实例.rar


 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/7/15 17:53:00 [只看该作者]

打开窗口设计器,双击“生成统计表”按钮,清空里面的代码,把12楼的代码复制进去。确定返回,保存窗口,然后测试。

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


加好友 发短信
等级:婴狐 帖子:33 积分:262 威望:0 精华:0 注册:2017/7/3 9:19:00
  发帖心情 Post By:2017/7/17 10:33:00 [只看该作者]

太好了,能否再加两列代码?一列统计可配套数量: 把 所有子类里 库存最低的 数量“统计在第三列” ;另一列 统计 同类子料的个数?  (因为隐藏过滤掉了库存比较多的项目)

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


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

没看懂你要统计的东西,截图说明要统计什么。

 

Dim dt1 As DataTable = DataTables("MRP报表")
Dim dtb As New DataTableBuilder("mrp统计表")
dtb.AddDef("成品代码", Gettype(String), 16)
dtb.AddDef("成品名称及规格", Gettype(String), 16)
dtb.AddDef("可配套数量", Gettype(String))
dtb.AddDef("同类子料个数", Gettype(String))
Dim lbs As List(of String) = dt1.GetValues("子料类别")
For Each lb As String In lbs
    dtb.AddDef(lb & "_子料代码", Gettype(String))
    dtb.AddDef(lb & "_子料名称", Gettype(String))
    dtb.AddDef(lb & "_库存", Gettype(String))
    dtb.AddDef(lb & "_在途采购", Gettype(String))
Next
dtb.Build()
Dim dt2 As Table = Tables("mrp统计表")
For Each dm As String() In dt1.GetValues("成品代码|成品名称及规格")
    Dim nr As Row = dt2.AddNew
    nr("成品代码") = dm(0)
    nr("成品名称及规格") = dm(1)
    Dim min As Double = 99999
    For Each lbei As String In dt1.GetValues("子料类别","成品代码='" & dm(0) & "' And 成品名称及规格='" & dm(1) & "'")
        Dim dr As DataRow = dt1.Find("成品代码='" & dm(0) & "' And 成品名称及规格='" & dm(1) & "' and 子料类别='" & lbei & "'","子料库存数量")
        If dr IsNot Nothing
            nr(lbei  & "_子料代码") = dr("子料代码")
            nr(lbei  & "_子料名称") = dr("子料名称及规格")
            nr(lbei  & "_库存") = dr("子料库存数量")
            nr(lbei  & "_在途采购") = dr("子料在途采购")
            If min > dr("子料库存数量") Then
                min = dr("子料库存数量")
            End If
        End If
    Next
    nr("可配套数量") = min
Next
MainTable= dt2


 回到顶部
总数 16 上一页 1 2