Foxtable(狐表)用户栏目专家坐堂 → 合并后汇总的代码疑问


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

主题:合并后汇总的代码疑问

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
合并后汇总的代码疑问  发帖心情 Post By:2011/1/11 16:30:00 [只看该作者]

合并后统计的代码如下,为何不是完全合并呢,请看图片的部门为什么有不完全合并的情况呢,第二列的0148就是部门代码?
图片点击可在新窗口打开查看此主题相关图片如下:screenshot.jpg
图片点击可在新窗口打开查看

'以下为合并后统计结果显示代码
With Tables("sos")
    .MergeMode = MergeModeEnum.Standard
    .MergeCols.Clear()
    .MergeCols.Add("排产日期")
    .MergeCols.Add("部门")
    .MergeCols.Add("班组")
    .MergeCols.Add("订单编号")
    .MergeSort = "排产日期,部门,班组,订单编号"
    .AllowMerge = True
End With
Dim t As Table = Tables("sos")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "排产日期"
g.DateGroup = DateGroupEnum.day
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()
Dim r As Row
Dim r1 As Row
For i As Integer = 1 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    r1 = t.Rows(i-1,True)
    If r.IsGroup '如果是分组行
        Dim f As String = "排产日期 = #" & r1("排产日期") & "#"
        Dim x1 As String = "排产日期 = #" & r1("排产日期") & "# and 大类 = '分类一'"
        Dim x2 As String = "排产日期 = #" & r1("排产日期") & "# and 大类 = '分类二'"
        Dim x3 As String = "排产日期 = #" & r1("排产日期") & "# and 大类 = '分类三'"
        Dim x4 As String = "排产日期 = #" & r1("排产日期") & "# and 大类 = ''分类四"
        Dim x5 As String = "排产日期 = #" & r1("排产日期") & "# and 大类 = ''分类五"
        Dim x6 As String = "排产日期 = #" & r1("排产日期") & "# and 大类 = ''分类六"
        Dim v As String =  "销售金额:" & t.Compute("Sum(销售)",f)
        v = v & " /产值:" & t.Compute("Sum(产值)",f)
        v = v & "/分类一:" & t.Compute("Sum(约当量)",x1)
        v = v & "/分类二:" & t.Compute("Sum(约当量)",x2)
        v = v & "/分类三:" & t.Compute("Sum(约当量)",x3)
        v = v & "/分类四:" & t.Compute("Sum(约当量)",x4)
        v = v & "/分类无:" & t.Compute("Sum(约当量)",x5)
        v = v & "/分类六:" & t.Compute("Sum(约当量)",x6)
        r("排产日期") = format(r1("排产日期"),"yyyy年MM月dd日") & "排产信息提示:" & v
        Tables("sos").AutoSizeRow(i)
    End If
Next

[此贴子已经被作者于2011-1-11 16:35:05编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/1/11 16:48:00 [只看该作者]

原来合并的效果被g.GroupOn = "排产日期" 干掉了。

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
合并后汇总的代码疑问  发帖心情 Post By:2011/1/11 16:57:00 [只看该作者]

如何更改

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/1/11 17:04:00 [只看该作者]

没办法。

除非汇总分组等于合并列。


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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
合并后汇总的代码疑问  发帖心情 Post By:2011/1/11 17:14:00 [只看该作者]

老大有无方法达到要求

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/1/12 7:32:00 [只看该作者]

好像合并要先排序的吧,就是把0148的先排好序,才会将同样内容的合并.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/1/12 8:31:00 [只看该作者]

g.DateGroup = DateGroupEnum.day
 
改为:
 
g.DateGroup = DateGroupEnum.None
 
看看

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
合并后汇总的代码疑问  发帖心情 Post By:2011/1/12 13:46:00 [只看该作者]

老大,这个问题跟这个是一个例子:
http://www.foxtable.com/dispbbs.asp?boardid=2&Id=8941&page=2

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
合并后汇总的代码疑问  发帖心情 Post By:2011/1/12 16:24:00 [只看该作者]

高手们请不吝赐教

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/1/12 16:51:00 [只看该作者]

With Tables("sop")
    .MergeMode = MergeModeEnum.Standard
    .MergeCols.Clear()
    .MergeCols.Add("排产日期")
    .MergeCols.Add("部门")
    .MergeCols.Add("班组")
    .MergeCols.Add("订单编号")
    .MergeSort = "排产日期,部门,班组,订单编号"
    .AllowMerge = True
End With
Dim t As Table = Tables("sop")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "排产日期"
g.DateGroup = DateGroupEnum.day
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal(True)
messagebox.show(CurrentTable.sort)

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