以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何增加并算出当前余额?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=15645)

--  作者:sinlang5778
--  发布时间:2012/1/4 22:21:00
--  如何增加并算出当前余额?
谢谢。
图片点击可在新窗口打开查看此主题相关图片如下:2012-01-04_222014.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/1/5 10:27:00
--  

应该生成专门的统计表,而不是汇总模式,汇总模式只能一个表。

 

看看:

 

http://www.foxtable.com/help/topics/1626.htm

http://www.foxtable.com/help/topics/2305.htm

 


--  作者:sinlang5778
--  发布时间:2012/1/5 21:34:00
--  

看了说明,还是不明白,我上传了附件,帮写一下代码,如何实现上图的功能,谢谢

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

[此贴子已经被作者于2012-1-5 21:34:56编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/1/6 8:42:00
--  

在命令窗口执行:

 

 

Dim b As New SQLGroupTableBuilder("统计表1","收入明细2011年")
b.AddTable("收入明细2011年","收入日期","消费明细2011年","消费日期")
b.Groups.AddExp("日期","收入日期")
b.Totals.AddDef("收入金额")
b.Totals.AddDef("消费金额")
b.Subtotal = True
b.Build
MainTable = Tables("统计表1")


--  作者:sinlang5778
--  发布时间:2012/1/6 20:11:00
--  

不好意思啊,我所需求的(最上面的图)和上面代码运行的结果有差异的,

所需求的结果应该 余额为12070;如下图,如何改代码达到需求的值,谢谢。

 


图片点击可在新窗口打开查看此主题相关图片如下:33.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-1-6 20:11:09编辑过]

--  作者:czy
--  发布时间:2012/1/6 20:32:00
--  

自定义汇总模式代码:

 

Dim t As Table = Tables("消费明细2011年")
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 = "总计"
g.upto = True
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "消费金额"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()

Dim sum1 As Decimal = DataTables("收入明细2011年").Compute("Sum(收入金额)")
Dim sum2 As Decimal = DataTables("消费明细2011年").Compute("Sum(消费金额)")
Dim r As Row
For i As Integer = 0 To Tables("消费明细2011年").Rows.Count(True) - 1
    r = CurrentTable.Rows(i,True)
    If r.IsGroup
        If i = Tables("消费明细2011年").Rows.Count(True) -1 Then
            r("消费日期") = "当前余额"
            r("消费金额") = sum1-sum2
        End If
    End If
Next