Foxtable(狐表)用户栏目专家坐堂 → [求助]统计报表


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

主题:[求助]统计报表

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
[求助]统计报表  发帖心情 Post By:2013/4/7 17:58:00 [显示全部帖子]

麻烦老师看看这个统计如何实现?

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/7 18:01:00 [显示全部帖子]

上传的文件去哪里了呢?


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/7 18:03:00 [显示全部帖子]

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

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/7 18:04:00 [显示全部帖子]

就是上面这个表。上传了文件不知哪儿没弄对,居然不见。


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/7 18:07:00 [显示全部帖子]

我记得是这样弄的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试一--2.rar
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求救.xls



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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/8 17:12:00 [显示全部帖子]

谢谢。我看了。那样的话我会做的。但我昨天见到你们给我的不是这样的,它带了单位了。使用代码写的。


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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/8 17:16:00 [显示全部帖子]

一般一家店的同一种商品是不太会出现3斤加2个的。通常是3斤或2个。实在困难也可以用合并好的“订单数量(带单位)”那一列就行了。看看老师有什么办法?

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By: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楼的表中要改一下。谢谢。上次的问题就是做这个数量与单位的合并。多谢了。

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/9 8:14:00 [显示全部帖子]

不好意思。muhua老师。不好弄就写代码吧,我做成按钮吧。只是这样的话要价格日期选择,就是在执行这个按钮时弹出日期对话框选择时期作为条件。日期字段为“单据日期”,不给日期的话默认最近一天的单据日期。谢谢,给你添麻烦了。

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


加好友 发短信
等级:幼狐 帖子:87 积分:662 威望:0 精华:0 注册:2013/1/24 15:19:00
  发帖心情 Post By:2013/4/9 14:12:00 [显示全部帖子]

Dim iii As Integer = 0

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), 16)

Next

dtb.Build()

 

 

Dim t As Table = Tables("分货表")

MainTable = t

Dim icou As Integer = dt.GetUniqueValues("", "原料编码").Count

StatusBar.Message1= "正在统计"

StatusBar.ProgressBar.Visible = True

StatusBar.ProgressBar.Maximum = icou

 

For Each ylbm As String In dt.GetUniqueValues("", "原料编码")

    If ylbm > "" AndAlso CInt(ylbm) < icou + 1 Then

        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

            For Each dw As String In dt.GetUniqueValues(filter, "订货包装单位")

                data &= dt.Compute("Sum(数量包装单位)", filter & " And 订货包装单位 = '" & dw & "'") & dw & "+"

            Next

            r(colName) = data.Trim("+")

        Next

        iii = iii + 1

        StatusBar.ProgressBar.Value = iii

        StatusBar.Message2 = "正在处理第" & iii & "条数据"

        Application.DoEvents

    End If

Next

StatusBar.Message2 = "已经处理完毕,总共处理了" & iii & "条数据"

StatusBar.ProgressBar.Value = icou



muhua老师:我感觉我还是没完全说清楚。测试结果有些问题。

1,不想要“数量基本单位”与“基本单位”的合并。只想要“数量包装单位”的合计值与单位合并。由于订单的复杂性,同一家客户在订购同一商品时会使用不同的“订货包装单位”及3+2个,加上补订单,就会出现几行订单,分别是3斤,5斤,2个,5个,我要做的就是求得8+7个【(3+5)斤;(2+5)个】,用于分货。包装单位存在“订货包装单位”,该单位的数量存在“数量包装单位”

2,“数量基本单位(这是数量,如5)”与“基本单位(是标准单位,一般是斤)”是将这些不同的计量单位按照转换率转换为标准单位后的数量及其标准单位。由于转换率仅仅是参考值,只能用于采购的大致换算。分货是按照订单的计量单位合计数来分,在按计量为基本单位收钱。

3,感觉老师是把上述两个合并了。

4,分货表的纵坐标应该是“商品名称”,我用它替换“原料代码”再运行也不行,看来这个瓢不好画呀。由于客户是多个总公司(下有分公司),我想做成多个按钮,因此,这个分货表就需要加上总公司的选择条件。好像你先前给我的那个“公司一”“公司二”这样的选择。

5,分货组号与商品名称并列为纵坐标,它是商品的属性。







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