以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码纠错。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59168) |
|
-- 作者:zbsdkq012890 -- 发布时间:2014/10/30 11:02:00 -- 代码纠错。 我下面的一大段代码是采用组合统计多个连接列编写的,测试后应用没有其他问题。只有一个问题很困扰我,就是根据月度分组时本该同年同月在一起分组的,但是这段代码是把不同年份相同月份的数据分组在一起了。个数据表中月度列的列属性我选择的都是日期时间,格式是DATE(2014-01-31),请大侠们帮我看看这段代码哪里有问题,小弟不胜感激啊
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("营业收入")) Dim bd2 As New GroupTableBuilder("统计表2",DataTables("固定支出")) Dim bd3 As New GroupTableBuilder("统计表3",DataTables("费用支出")) Dim bd4 As New GroupTableBuilder("统计表4",DataTables("成本支出")) Dim nms As String() = {"店面名称","月度"} \'指定连接列 [此贴子已经被作者于2014-10-30 11:02:43编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2014/10/30 11:07:00 -- 1、你要根据年、月一起分组;
2、最后,要根据店面、年、月一期合并。
在Groups集合中添加一个分组列的语法是: Groups.AddDef(Name)
参数说明
DateGroupEnum枚举的可选值: None : 不分组 |
|
-- 作者:zbsdkq012890 -- 发布时间:2014/10/30 11:38:00 -- 看了半天你的回复,非常感谢,但是我试着改了半天,还是改不对,而且越改越乱。小弟不才啊,还请兄台能帮忙具体指出小弟的那行代码应该改成什么样子吧。 |
|
-- 作者:有点甜 -- 发布时间:2014/10/30 11:50:00 -- Dim bd1 As New GroupTableBuilder("统计表1",DataTables("营业收入")) Dim bd2 As New GroupTableBuilder("统计表2",DataTables("固定支出")) Dim bd3 As New GroupTableBuilder("统计表3",DataTables("费用支出")) Dim bd4 As New GroupTableBuilder("统计表4",DataTables("成本支出")) Dim nms As String() = {"店面名称","年度","月度"} \'指定连接列 |
|
-- 作者:zbsdkq012890 -- 发布时间:2014/10/30 11:54:00 -- 非常感谢兄台。按你给的代码测试成功,你是真正的大侠!呵呵 |
|
-- 作者:zbsdkq012890 -- 发布时间:2014/10/31 10:13:00 -- 兄台多谢你帮着小弟做了个多列组合式的统计表,但是小弟现在又遇到个问题,就是针对这个统计表的查询设置怎么弄啊,我以前都是用目录树的方法做查询的,现在好像对统计表不管用了。一般的查询方式对统计表是不是都不管用啊? |
|
-- 作者:有点甜 -- 发布时间:2014/10/31 10:16:00 -- 不会啊。关键是你看一下这个表的表结构,有可能表名没写对。 |
|
-- 作者:zbsdkq012890 -- 发布时间:2014/10/31 10:50:00 -- 下面红色部分是加入表达式列,我好想做的不对,总是弹出错误。你帮我看看该怎么加入表达式列啊。 Dim bd1 As New GroupTableBuilder("利润表",DataTables("营业收入")) Dim dt1 As fxDataSource bd1.Groups.AddDef("店面名称") \'根据店面名称分组 bd1.Groups.AddDef("月度", DateGroupEnum.Year, "年度") bd1.Groups.AddDef("月度") \'根据月度分组 bd1.Totals.AddDef("营业收入","收入总金额") \'对营业收入进行统计 dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("固定支出")) Dim dt2 As fxDataSource bd2.Groups.AddDef("店面名称") \'根据店面名称分组 bd2.Groups.AddDef("月度", DateGroupEnum.Year, "年度") bd2.Groups.AddDef("月度") \'根据月度分组 bd2.Totals.AddDef("支出金额","支出总金额") \'对支出金额进行统计 dt2 = bd2.BuildDataSource() Dim bd3 As New GroupTableBuilder("统计表3",DataTables("费用支出")) Dim dt3 As fxDataSource bd3.Groups.AddDef("店面名称") \'根据店面名称分组 bd3.Groups.AddDef("月度", DateGroupEnum.Year, "年度") bd3.Groups.AddDef("月度") \'根据月度分组 bd3.Totals.AddDef("费用金额","费用总金额") \'对费用金额进行统计 dt3 = bd3.BuildDataSource() Dim bd4 As New GroupTableBuilder("统计表4",DataTables("成本支出")) Dim dt4 As fxDataSource bd4.Groups.AddDef("店面名称") \'根据店面名称分组 bd4.Groups.AddDef("月度", DateGroupEnum.Year, "年度") bd4.Groups.AddDef("月度") \'根据月度分组 bd4.Totals.AddDef("成本金额","成本总金额") \'对成本金额进行统计 dt4 = bd4.BuildDataSource() Dim nms As String() = {"店面名称","年度","月度"} \'指定连接列 dt1.Combine(nms,dt2,nms) \'将支出总金额组合到营业收入统计数据 dt1.Combine(nms,dt3,nms) \'将费用总金额组合到营业收入统计数据 dt1.Combine(nms,dt4,nms) \'将成本总金额组合到营业收入统计数据 With DataTables("利润表").DataCols \'用表达式列计算当月利润数据 .Add("当月利润",Gettype(Integer), "IsNull([收入总金额],0) - ISNULL([支出总金额],0) - ISNULL([费用总金额],0) - ISNULL([成本总金额],0)") End With dt1.Show("利润表") \'显示统计结果
|
|
-- 作者:zbsdkq012890 -- 发布时间:2014/10/31 11:05:00 --
|
|
-- 作者:有点甜 -- 发布时间:2014/10/31 11:46:00 -- 是不是生成的表没有这些对应的列?
具体报什么错? |