以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教这个SQLgroup统计问题出在哪里呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43390)

--  作者:unverse
--  发布时间:2013/12/5 21:56:00
--  请教这个SQLgroup统计问题出在哪里呢?
    Dim g As New SQLGroupTableBuilder("查询统计","KCCKD2")
    g.C
    g.AddTable("kcckd2","kcckd2_lsbh","kcckd1","kcckd1_lsbh")
    g.AddTable("kcckd2","kcckd2_wlbh","lswlzd","lswlzd_wlbh")
    g.AddTable("kcckd1","kcckd1_bmbh","kcbmzd","kcbmzd_bmbh")
    g.AddTable("kcckd1","kcckd1_ckbh","lsckzd","lsckzd_ckbh")
    g.AddTable("kcckd1","kcckd1_lyr","zwzgzd","zwzgzd_zgbh")
    g.AddTable("lswlzd","lswlzd_jldw","jsjldw","jsjldw_dwdm")
    g.AddTable("lswlzd","lswlzd_lbbh","lswllb","lswllb_lbbh")
    g.Caption = "统计表  "
g.Groups.AddExp("年月份","kcckd1_djrq.Substring(0,6)")
      g.Groups.AddDef("kcckd1_sjdh","出库单号")    
    g.Groups.AddDef("kcbmzd_bmmc","单位名称")
    g.Groups.AddDef("zwzgzd_zgxm","出库车号")
    g.Groups.AddDef("lsckzd_ckmc","仓库名称")
    g.Groups.AddDef("lswllb_lbbh","类别编号")
    g.Groups.AddDef("lswllb_lbmc","物料类别")
    g.Groups.AddDef("kcckd2_wlbh","物料编号")
    g.Groups.Adddef("lswlzd_wlmc","物料名称")
    g.Groups.Adddef("lswlzd_ggxh","规格型号")
    g.Groups.Adddef("jsjldw_dwmc","计量单位")
    g.Totals.Adddef("kcckd2_sl","领用数量")
    g.Totals.AddDef("kcckd2_dj","出库单价")
    g.Totals.AddDef ("kcckd2_je","金额")
    g.Groups.AddDef("kcckd1_bz","出库备注说明")
    g.Subtotal = True
    g.SubtotalLevel = 1    
    Tables(e.Form.Name & "_Table1").DataSource   = g.BuildDataSource
    Tables(e.Form.Name & "_Table1").AutoSizeCols

------------------------
以上是代码,不知道是什么原因,请问上面红色的代码有问题吗?那个是单据日期格式为:20120202 ,8位字符的,我想增加一列取前6位,生成一个列,根据这个列进行分组统计,添加列不能这样做吗?

错误提示:

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



--  作者:有点甜
--  发布时间:2013/12/5 22:06:00
--  
 试试,不行就不行了。

 g.groups.addExp("年月份", "substring(kcckd1_djrq, 0, 6)")

--  作者:unverse
--  发布时间:2013/12/5 22:58:00
--  
以下是引用有点甜在2013-12-5 22:06:00的发言:
 试试,不行就不行了。

 g.groups.addExp("年月份", "substring(kcckd1_djrq, 0, 6)")

现在倒是可以了,但是又出现了一个问题:我想以前这个日期列进行统计每个月的小计,现在统计默认的是以备注列进行统计的,请问应该如何操作,如果添加的列不起作用,那参数g.SubtotalLevel=1也会先统计出库日期吧,怎么会按备注统计呢。

代码:


 g.groups.addExp("年月份", "substring(kcckd1_djrq,1,6)")

    g.Groups.AddDef("kcckd1_djrq","出库日期")

    g.Groups.AddDef("kcckd1_sjdh","出库单号")

    g.Groups.AddDef("kcbmzd_bmmc","单位名称")

    g.Groups.AddDef("zwzgzd_zgxm","出库车号")

    g.Groups.AddDef("lsckzd_ckmc","仓库名称")

    g.Groups.AddDef("lswllb_lbbh","类别编号")

    g.Groups.AddDef("lswllb_lbmc","物料类别")

    g.Groups.AddDef("kcckd2_wlbh","物料编号")

    g.Groups.Adddef("lswlzd_wlmc","物料名称")

    g.Groups.Adddef("lswlzd_ggxh","规格型号")

    g.Groups.Adddef("jsjldw_dwmc","计量单位")

    

    g.Groups.AddDef("kcckd1_bz","出库备注说明")

    g.Totals.Adddef("kcckd2_sl","领用数量")

    g.Totals.AddDef("kcckd2_dj","出库单价")

    g.Totals.AddDef ("kcckd2_je","金额")

    

    g.Subtotal = True

    g.SubtotalLevel =1



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




--  作者:有点甜
--  发布时间:2013/12/5 23:22:00
--  
 g.SubtotalLevel=1 应该是最小分组,你试试改成12
--  作者:unverse
--  发布时间:2013/12/5 23:43:00
--  
改成12话就乱了,,也没有添加的那个列的事,,,不知道为什么 。。。
--  作者:狐狸爸爸
--  发布时间:2013/12/6 7:59:00
--  

直接用代码设置汇总模式:

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

 

随心所欲控制。