以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何在小计列中计算出库存的累计数是31呢?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=10495)

--  作者:fyj0326
--  发布时间:2011/6/8 21:48:00
--  如何在小计列中计算出库存的累计数是31呢?
  我想在此流水帐的
小计行的库存列中计算出库存的累计数是31(收入累计55-支出累计24=31),而不是累计库存为67


图片点击可在新窗口打开查看此主题相关图片如下:20110608-截图 1.png
图片点击可在新窗口打开查看


请高手指教,谢谢!
--  作者:ybil
--  发布时间:2011/6/8 23:16:00
--  
试试在原来代码的最后加上下面的代码
With CurrentTable
   .Rows(.Rows.count,True)("库存") = .Rows(.Rows.count,True)("入库")-.Rows(.Rows.count,True)("出库")
End With

--  作者:狐狸爸爸
--  发布时间:2011/6/9 8:18:00
--  

分组统计的时候,统计列加上库存,不就行了吗?


--  作者:fyj0326
--  发布时间:2011/6/9 8:46:00
--  可以计出库存为31了,谢谢

图片点击可在新窗口打开查看此主题相关图片如下:20110609-截图 1.png
图片点击可在新窗口打开查看

--  作者:fyj0326
--  发布时间:2011/6/9 8: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 = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()
With CurrentTable
   .Rows(.Rows.count,True)("库存") = .Rows(.Rows.count,True)("入库")-.Rows(.Rows.count,True)("出库")
End With


--  作者:狐狸爸爸
--  发布时间:2011/6/9 8:47:00
--  

参考:
 
http://help.foxtable.com/topics/1911.htm


 


--  作者:fyj0326
--  发布时间:2011/6/9 10:04:00
--  在下面代码中如何使库存的累计也为36,而不是累计为222呢?

 

 

在下面代码中如何使库存的累计也为36,而不是软件生成的库存累计为222呢?

 

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
t.SubtotalGroups.Add(g)

With CurrentTable
   .Rows(.Rows.count,True)("库存") = .Rows(.Rows.count,True)("入库")-.Rows(.Rows.count,True)("出库")
End With


图片点击可在新窗口打开查看此主题相关图片如下:20110609-截图 2.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/6/9 10:15: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
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


--  作者:hhbb
--  发布时间:2011/6/9 12:26:00
--  
以下是引用狐狸爸爸在2011-6-9 8:47:00的发言:

参考:
 
http://help.foxtable.com/topics/1911.htm


 目前判断是否汇总行只有不管3721,For i As Integer = 0 To Tables("XXX").Rows.Count(True) - 1,判断是否汇总行,这样效率是否太低!是否Rows应该有个Groups属性,返回汇总行集合!



--  作者:狐狸爸爸
--  发布时间:2011/6/9 12:27:00
--  

也不算低的。