以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]统计报表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=30958)

--  作者:ruanziming
--  发布时间:2013/4/7 17:58:00
--  [求助]统计报表
麻烦老师看看这个统计如何实现?
--  作者:Bin
--  发布时间:2013/4/7 17:59:00
--  
什么都没有.看啥?
--  作者:ruanziming
--  发布时间:2013/4/7 18:01:00
--  
上传的文件去哪里了呢?


--  作者:ruanziming
--  发布时间:2013/4/7 18:03:00
--  
“订货单位简称”
商品名称 商品简称 分货组号 麦当劳 肯德基 大酒店 大饭店
长茄子-旺 长茄子 1 3斤 2棵
大葱-旺 大葱 1 3斤+2棵
番茄-旺 番茄 2 按订货“包装单位”汇总“数量(包装单位)”并合并。只是汇总带单位可能会遗漏或多出行,就不能实现“3斤+2棵”
红彩椒-旺 红彩椒 2
胡萝卜-旺 胡萝卜 5
黄瓜-旺 黄瓜 6
豇豆-旺 豇豆 8
莲藕-旺 莲藕 9
美人椒-红-旺 美人椒-红 5
平菇-旺 平菇 6
青尖椒-旺 青尖椒 4
这其实就是个分货表。根据订单来分配货物。按分货组号排序。单据日期为最近的一天(一般是头天给订单,第二天分货)。能不用代码最好。

--  作者:ruanziming
--  发布时间:2013/4/7 18:04:00
--  
就是上面这个表。上传了文件不知哪儿没弄对,居然不见。


--  作者:Bin
--  发布时间:2013/4/7 18:05:00
--  
13斤+2棵  这种类型你也想统计? 换个方式比较方便吧

--  作者:ruanziming
--  发布时间:2013/4/7 18:07:00
--  
我记得是这样弄的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试一--2.rar
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求救.xls



--  作者:ruanziming
--  发布时间:2013/4/8 17:12:00
--  
谢谢。我看了。那样的话我会做的。但我昨天见到你们给我的不是这样的,它带了单位了。使用代码写的。


--  作者:ruanziming
--  发布时间:2013/4/8 17:16:00
--  
一般一家店的同一种商品是不太会出现3斤加2个的。通常是3斤或2个。实在困难也可以用合并好的“订单数量(带单位)”那一列就行了。看看老师有什么办法?
--  作者:ruanziming
--  发布时间:2013/4/8 20:20:00
--  
Dim dt As DataTable = DataTables("销售订单汇总总表")

Dim dtb As New DataTableBuilder("分货表")
dtb.AddDef("原料编码", Gettype(String), 32)
For Each col As String In dt.GetUniqueValues("", "单位简称")
    dtb.AddDef(col, Gettype(String), 8)
Next
dtb.Build()

Dim t As Table = Tables("分货表")
For Each ylbm As String In dt.GetUniqueValues("", "原料编码")
    Dim r As Row = t.AddNew
    r("原料编码") = ylbm
    For i As Integer = 1 To t.Cols.Count - 1
        Dim colName As String = t.Cols(i).Name
        Dim filter As String = "原料编码 = \'" & r("原料编码") & "\' And 单位简称 = \'" & colName & "\'"
        Dim data As String = ""
        For Each dw As String In dt.GetUniqueValues(filter, "订单单位")
            data &= dt.Compute("Sum(订单数量)", filter & " And 订单单位 = \'" & dw & "\'") & dw & "+"
        Next
        r(colName) = data.Trim("+")
    Next
Next

MainTable = t
麻烦林老师帮我看一下。上次您给我的上述代码。可能在8楼的表中要改一下。谢谢。上次的问题就是做这个数量与单位的合并。多谢了。