以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于临时表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80607) |
-- 作者:czy66ds -- 发布时间:2016/1/27 11:58:00 -- 关于临时表 下面是帮助“分组统计和交叉统计的实现原理”中的一段代码: Dim dtb As New
DataTableBuilder("统计") dtb.AddDef("产品", Gettype(String), 16) dtb.AddDef("数量", Gettype(Integer)) dtb.AddDef("金额", Gettype(Double)) dtb.Build() For Each nm As String In DataTables("订单").GetValues("产品") Dim dr As DataRow = DataTables("统计").AddNew() dr("产品") = nm dr("数量") = DataTables("订单").Compute("Sum(数量)","[产品] = \'" & dr("产品") & "\'") dr("金额") = DataTables("订单").Compute("Sum(金额)","[产品] = \'" & dr("产品") & "\'") Next MainTable= Tables("统计") 我想把[产品]改成[]和[月],就是临时表为: Dim dtb As New DataTableBuilder("统计") dtb.AddDef("年", Gettype(Intege)) dtb.AddDef("月", Gettype(Intege)) dtb.AddDef("数量", Gettype(Integer)) dtb.AddDef("金额", Gettype(Double)) dtb.Build() 再往下该如何写代码?关键是“订单”表没有“年”和“月”列,用year(日期)和month(日期)替代?
|
-- 作者:大红袍 -- 发布时间:2016/1/27 12:02:00 -- 方法一:加上年月列 http://www.foxtable.com/help/topics/1285.htm
|
-- 作者:大红袍 -- 发布时间:2016/1/27 12:07:00 -- 方法二:用sqlGetValues
For Each nm As String() In DataTables("订单").SqlGetValues("year(日期)|month(日期)") output.show(nm(0) & nm(1) Next [此贴子已经被作者于2016/1/27 12:07:02编辑过]
|
-- 作者:czy66ds -- 发布时间:2016/1/27 12:22:00 -- 没有取到值:
此主题相关图片如下:qq截图20160127121550.jpg |
-- 作者:czy66ds -- 发布时间:2016/1/27 13:13:00 -- 报错
此主题相关图片如下:qq截图20160127131006.jpg |
-- 作者:czy66ds -- 发布时间:2016/1/27 13:15:00 -- 代码为: Dim dtb As New DataTableBuilder("统计") |
-- 作者:大红袍 -- 发布时间:2016/1/27 13:15:00 -- 那就要用代码处理了
Se lect Distinct Year(日期) As 年, Month(日期) As 月, 产品 From {订单} http://www.foxtable.com/help/topics/0695.htm
|