以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何根据条件直接统计数据库的数据显示在窗口的表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69677)

--  作者:qingwuzu
--  发布时间:2015/6/9 11:50:00
--  如何根据条件直接统计数据库的数据显示在窗口的表

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150609114749.png
图片点击可在新窗口打开查看
一个窗口显示条件里面的商品汇总表 一个显示条件里面的明细表

--  作者:大红袍
--  发布时间:2015/6/9 12:00:00
--  

 你去看一下 数据统计 一章(开发指南->统计与查询)

 

 


--  作者:qingwuzu
--  发布时间:2015/6/10 11:04:00
--  
是用分组统计吗
--  作者:大红袍
--  发布时间:2015/6/10 11:16:00
--  
 是的,分组统计。
--  作者:qingwuzu
--  发布时间:2015/6/10 11:39:00
--  
现在是 销售单 的表名是 O_Sale1(有开单日期,单据编号,数量,金额,业务类型四列)   销售单明细表的表名是 O_Sale1Detail (只有单据编号,货品名称,数量,单价,金额 五列)  关联列是 单据编号  如何根据销售单(开单日期,业务类型)的条件 统计出分组为 货品名称的 总数量,总金额 代码怎么写,看了很久了,试了很久都没有写出来
--  作者:大红袍
--  发布时间:2015/6/10 11:41:00
--  

 参考 http://www.foxtable.com/help/topics/1626.htm

 

 不会做,就上传具体的例子。


--  作者:qingwuzu
--  发布时间:2015/6/10 11:50:00
--  
好的,在仔细试多几次
--  作者:qingwuzu
--  发布时间:2015/6/10 12:42:00
--  
Dim b As New SQLGroupTableBuilder("统计表1","O_Sale1Detail")
b.C
b.AddTable("B_Goods","GoodsId","O_Sale1Detail","GoodsId") \'添加统计表
b.AddTable("O_Sale1","BillNo","O_Sale1Detail","BillNo") \'添加统计表
b.Filter = "{O_Sale1}.BillDate = \' date.now \'"
b.Groups.AddDef("{直营销售}.GoodsId") \'根据产品名称分组
b.Totals.AddDef("Quantity") \'对数量进行统计
b.Build \'生成统计表
MainTable = Tables("统计表1")
这个代码有什么问题,提示生产SQL出错

--  作者:大红袍
--  发布时间:2015/6/10 14:08:00
--  

b.AddTable("O_Sale1Detail","GoodsId","B_Goods","GoodsId") \'添加统计表
b.AddTable("O_Sale1Detail","BillNo","O_Sale1","BillNo") \'添加统计表
b.Filter = "{O_Sale1}.BillDate = \'" & Date.Today & "\'"
b.Groups.AddDef("{O_Sale1Detail}.GoodsId") \'根据产品名称分组
b.Totals.AddDef("Quantity") \'对数量进行统计


--  作者:qingwuzu
--  发布时间:2015/6/10 18:20:00
--  
图片点击可在新窗口打开查看谢谢
Dim A As Date = e.Form.Controls("DateTimePicker1").Text
Dim C As Date = e.Form.Controls("DateTimePicker2").Text
Dim b As New SQLGroupTableBuilder("统计表1","O_Sale1Detail")
b.C
b.AddTable("O_Sale1Detail","BillNo","O_Sale1","BillNo") 
b.AddTable("O_Sale1","ClientID","B_Client","ClientId")\'添加统计表
b.Filter = "{O_Sale1}.BillDate >= \'" & A & "\' And {O_Sale1}.BillDate <= \'" & C & "\'"
b.Groups.AddDef("{B_Client}.Name","客户名称")
b.Groups.AddDef("{B_Client}.Code","客户代码")
b.Totals.AddDef("{O_Sale1Detail}.Quantity","数量") \'对数量进行统计
b.Totals.AddDef("{O_Sale1Detail}.Amount","金额") \'对数量进行统计
b.Totals.AddDef("{O_Sale1Detail}.GAmount","赠送金额")
Tables("窗口3_Table1").DataSource = b.BuildDataSource()

("{O_Sale1Detail}.Quantity","数量") 在数据库里这列是Double 双精度类型的,如何在统计的时候转换为 Integer  整数类型呢,还有统计表的列在哪里直接设置字段的大小