以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于SQLGroupTableBuilder统计条件的设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4243)

--  作者:mr725
--  发布时间:2009/9/6 23:34:00
--  关于SQLGroupTableBuilder统计条件的设置

Dim
b As New GroupTableBuilder("统计表1", DataTables("订单"), "产品 = \'PD01\'"\'这里可以设置条件。
Dim b As New SQLGroupTableBuilder("统计表1","订单")

请问,第二个用 SQLGroupTableBuilder 生成的统计表,要统计 "产品 = \'PD01\'"   如何设置条件?
[此贴子已经被作者于2009-9-6 23:34:53编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/9/7 8:09:00
--  

SQLGroupTableBuilder包括以下属性:

ConnectionName:  指定数据源名称,如果省略,表示使用内部数据表。
Caption:         字符型,指定新生成统计表的标题。
Groups:           集合,用于添加分组列
Totals:           集合,用于添加统计列。
Exprs:           集合,用于添加表达式统计列。
VerticalTotal:   逻辑型,设为True,垂直方向自动增加汇总行。
Decimals:        整数型,用于设置统计结果要保留的小数位数,默认为4位。
SamePeriodGrowth:逻辑型,是否生成同比增长率
CircleGrowth:    逻辑型,是否生成环比增长率
GrandProportion: 逻辑型,是否生成总占比
GroupProportion: 逻辑型,是否生成分组占比

TableVisible:    逻辑型,是否在主界面中显示结果
Filter:           字符型,设置统计条件,表达式中的列名必须用方括号括起来


--  作者:mr725
--  发布时间:2009/9/7 10:17:00
--  
用狐表自带的例子:Excel报表.table 测试出错?

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:yangming
--  发布时间:2009/9/7 10:20:00
--  
可能是引号的问题
--  作者:狐狸爸爸
--  发布时间:2009/9/7 10:22:00
--  
收藏,我抽空看看
--  作者:狐狸爸爸
--  发布时间:2009/9/7 16:30:00
--  

测试通过:


Dim b As New GroupTableBuilder("统计表1",DataTables("订单"))
b.Groups.AddDef("日期",DateGroupEnum.Year,"年") \'添加日期列用于分组,并用"年"代替原名称
b.Groups.AddDef("日期","月") \'添加日期列用于分组,并用"月"代替原名称
b.Totals.AddDef("数量") \'添加数量列用于统计
b.Totals.AddDef("金额") \'添加数量列用于统计
b.Filter = "产品 = \'PD01\'"
b.Build \'生成统计表
MainTable = Tables("统计表1") \'打开生成的统计表


--  作者:133198609
--  发布时间:2017/2/6 0:08:00
--  
在设置后台统计的时候,貌似这样就不行,如何解?
Dim nf As WinForm.TextBox = e.Form.Controls("TextBox1")
If nf.Value = "" OrElse nf.Value.Length <> 4 Then
    MessageBox.Show("请输入正确的统计年份!")
Else
    Dim g As New GroupTableBuilder("上年度统计", DataTables("订单明细"))
    g.Groups.AddDef("部门")
    g.Groups.AddDef("业务员")
    g.Groups.AddDef("产品类别")
    g.Groups.AddDef("产品名称")
    g.Totals.AddDef("数量")
    g.FromServer = True
    g.Filter = "[签约年份] = \'" & nf.Value & "\'"
    g.Build()
    MainTable = Tables("上年度统计")
End If