Foxtable(狐表)用户栏目专家坐堂 → 库存按月分组后库存小计栏不正确,


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

主题:库存按月分组后库存小计栏不正确,

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
库存按月分组后库存小计栏不正确,  发帖心情 Post By:2011/6/9 12:48:00 [只看该作者]

 

代码中:

 

Dim t As Table = Tables("例子二")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 小计"
g.DateGroup = DateGroupEnum.Month
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 累计"
g.DateGroup = DateGroupEnum.Month
g.upto = True
t.SubtotalGroups.Add(g)

t.Subtotal()

For i As Integer = 0 To CurrentTable.Rows.Count(True) - 1
    Dim r As Row = CurrentTable.Rows(i,True)
    If r.IsGroup
        r("库存") = r("入库")- r("出库")
    End If
Next

 

上图在分组计算后,3月,4月,5月的库存小计栏不正确,

 

代码如何写才能得出下图库存小计中的红色字体的数据呢?

 

 

   

 


此主题相关图片如下:20110609-截图 4.png
按此在新窗口浏览图片

此主题相关图片如下:20110609-截图 5.png
按此在新窗口浏览图片

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
  发帖心情 Post By:2011/6/9 12:50:00 [只看该作者]

3月份的库存小计栏中9应要为21才正确

 

4月份的库存小计栏中6应要为27才正确

 

5月份的库存小计栏中4应要为31才正确


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


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

啥意思? 第一张图是foxtable的,统计正确,第二章图是Excel,结果错误。

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
  发帖心情 Post By:2011/6/9 14:36:00 [只看该作者]

我是想要第二张图的结果,不要第一张图的小计结果

 

第一张图3月份的库存小计栏中结果是9,但我想要第二张表中结果为21才正确(我想要生成21这个数值)

 

第一张图4月份的库存小计栏中结果是6,但我想要第二张表中结果为27才正确 (我想要生成27这个数值)

 

第一张图5月份的库存小计栏中结果是4,但我想要第二张表中结果为31才正确 (我想要生成31这个数值)


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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
  发帖心情 Post By:2011/6/9 14:46:00 [只看该作者]

由于第一张图的库存小计 并没有将上月的库存小计加起来,所以是不正确,我需要的是

 

3月的库存小计=2月的库存小计( 12)  + 3月的入库小计 (13) -3月的了库小计( 4),想得到3月库存小计为21,而不是9


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


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

Dim t As Table = Tables("例子二")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 小计"
g.DateGroup = DateGroupEnum.Month
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "日期"
g.TotalOn = "入库,出库,库存"
g.Caption = "{0}月 累计"
g.DateGroup = DateGroupEnum.Month
g.upto = True
t.SubtotalGroups.Add(g)

t.Subtotal()

Dim Sum As Integer
For i As Integer = 0 To CurrentTable.Rows.Count(True) - 1
    Dim r As Row = CurrentTable.Rows(i,True)
    If r.IsGroup
        If r("日期").EndsWith("小计") Then
            sum = sum + r("入库")- r("出库")
        End If
        r("库存") = sum
    End If
Next

 


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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
  发帖心情 Post By:2011/6/9 14:54:00 [只看该作者]

谢谢狐狸爸爸,能够及时帮我解决问题,上面的代码是我想要的结果
图片点击可在新窗口打开查看此主题相关图片如下:20110609-截图 7.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:一尾狐 帖子:405 积分:3645 威望:0 精华:0 注册:2009/12/12 17:04:00
  发帖心情 Post By:2011/6/9 14:55:00 [只看该作者]

ok了

 回到顶部