以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]统计相关问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34488) |
-- 作者:fjt4444 -- 发布时间:2013/6/8 9:46:00 -- [求助]统计相关问题 表结构如下: 日期 费别 金额 返利 06-11 管理费 100 10 06-11 通行费 50 5 代码如下: Dim bd1 As New GroupTableBuilder("统计表1",DataTables("规费记录")) Dim dt1 As fxDataSource bd1.Groups.AddDef("日期") bd1.Totals.AddDef("金额","管理费") bd1.Totals.AddDef("返利","代办返利") bd1.Filter = a+b dt1 = bd1.BuildDataSource() 希望实现功能:统计出费别为“管理费”的金额总和。就是在 bd1.Totals.AddDef("金额","管理费") 这怎么判断?不会写 |
-- 作者:Bin -- 发布时间:2013/6/8 9:52:00 -- http://www.foxtable.com/help/topics/1618.htm 帮助中有.你应该添加一个 bd1.Groups.AddDef("费别")
|
-- 作者:fjt4444 -- 发布时间:2013/6/8 10:11:00 -- 你看懂我的情况没有哦?我的费别有很多字段,怎么确定是管理费这一列,我只要显示“管理费”的,其他不显示 |
-- 作者:Bin -- 发布时间:2013/6/8 10:13:00 -- 帮助中有的, 设置一下 b.Filter = "[费别] = \'管理费\'" 即可 |
-- 作者:Bin -- 发布时间:2013/6/8 10:13:00 -- http://www.foxtable.com/help/topics/0677.htm |
-- 作者:fjt4444 -- 发布时间:2013/6/8 10:14:00 -- 我总不可能这样写嘛:bd1.Groups.AddDef("费别=’管理费‘")。 行不通的哇。 怎么解? |
-- 作者:XYT -- 发布时间:2013/6/8 10:19:00 -- 你统计按钮先执行筛选在统计啊 |
-- 作者:fjt4444 -- 发布时间:2013/6/8 10:25:00 -- 这是代码,加了Filter后还是不行! 统计出来还是2个费用的合计,不是管理费的合计 Dim bb As WinForm.Button = e.Form.Controls("Button2") Dim tb As WinForm.Table = e.Form.Controls("Table1") Dim dqq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1") Dim dqz As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2") Dim a As String Dim b As String a="" b="" If CLDate(dqq.Value)<>"一年一月一日" a="日期>=\'"+dqq.Value+"\'" End If If CLDate(dqq.Value)="一年一月一日" And CLDate(dqz.Value)<>"一年一月一日" Then b="日期<=\'"+dqz.Value+"\'" End If If CLDate(dqq.Value)<>"一年一月一日" And CLDate(dqz.Value)<>"一年一月一日" Then b="and 日期<=\'"+dqz.Value+"\'" End If If a <>"" And b <>"" And dqq.Value > dqz.Value tb.Visible=False MessageBox.Show("时间填写不对!") Return End If Dim bd1 As New GroupTableBuilder("统计表1",DataTables("规费记录")) Dim dt1 As fxDataSource bd1.Filter = "[费别] = \'管理费\'" bd1.Groups.AddDef("日期","月") bd1.Totals.AddDef("金额","管理费") bd1.Totals.AddDef("返利","代办返利") dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("公司支出")) Dim dt2 As fxDataSource bd2.Groups.AddDef("日期","月") bd2.Totals.AddDef("金额","营业支出") dt2 = bd2.BuildDataSource() dt1.Combine("月",dt2,"月") Tables("经营报表_Table1").DataSource = dt1 With DataTables("经营报表_Table1").DataCols .Add("纯利润",Gettype(Double), "IsNull([管理费],0) + IsNull([代办返利],0) - IsNull([营业支出],0)") End With For Each r As Row In Tables("经营报表_Table1").Rows If r.IsNull("月") Then r.Delete End If Next tb.Visible=True bb.Enabled=True
|
-- 作者:Bin -- 发布时间:2013/6/8 10:28:00 -- 你这么多代码看得乱,可能有其他代码影响了. Dim bd1 As New GroupTableBuilder("统计表1",DataTables("规费记录")) Dim dt1 As fxDataSource bd1.Filter = "[费别] = \'管理费\'" bd1.Groups.AddDef("日期","月") bd1.Totals.AddDef("金额","管理费") bd1.Totals.AddDef("返利","代办返利") dt1 = bd1.BuildDataSource() 你就直接执行这一段可以饿
|
-- 作者:Bin -- 发布时间:2013/6/8 10:29:00 -- 实在不行你上例子吧! |