以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 不加载表的情况下组合统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53042) |
||||
-- 作者:zhangxl1964 -- 发布时间:2014/6/27 21:12:00 -- 不加载表的情况下组合统计 老师:你好! 如何实现在不加载表的情况下组合统计
|
||||
-- 作者:Bin -- 发布时间:2014/6/28 8:28:00 -- 是的,不行,除非自己编写SQL语句生成表. |
||||
-- 作者:菲舍尔 -- 发布时间:2014/6/28 11:51:00 -- 不加载表,你指的是不加载表的数据还是连表结构都不加载?
如果是前者,狐表的是可以组合统计的,狐表中的几个builder都有onserver的选项,直接在服务器端统计 |
||||
-- 作者:zhangxl1964 -- 发布时间:2014/6/30 14:55:00 -- 编写SQL语句生成表?能否给点提示? |
||||
-- 作者:有点甜 -- 发布时间:2014/6/30 15:46:00 -- 以下是引用zhangxl1964在2014-6-30 14:55:00的发言:
编写SQL语句生成表?能否给点提示?
http://www.foxtable.com/help/topics/2314.htm
http://www.foxtable.com/help/topics/2320.htm
http://www.foxtable.com/help/topics/2307.htm
|
||||
-- 作者:zhangxl1964 -- 发布时间:2014/7/1 8:43:00 -- Dim sql As String = "Select 产品名称,数量,日期 FROM {订单} INNER JOIN {产品} ON {订单}.产品ID = {产品}.产品ID" Dim b As New CrossTableBuilder("统计表1",sql, "Sale") b.HGroups.AddDef("产品名称") b.VGroups.AddDef("日期","{0}月") b.Totals.AddDef("数量") b.HorizontalTotal = True b.VerticalTotal = True b.Build() MainTable = Tables("统计表1") 如果是多对多的关系,应该怎样修改?如:入库和出库二个表,要组合成一个出入库统计。
|
||||
-- 作者:有点甜 -- 发布时间:2014/7/1 9:06:00 -- 你说的多对多是不是这个意思?
http://www.foxtable.com/help/topics/2320.htm
五、UNION 运算符 UNION运算符用于组合两个查询的结果。 SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\' 两个查询的字段名称、个数、类型必须完全一致才行。 默认情况下,UNION会自动排除重复的行,然后你可以用ALL关键词来确保返回所有的行,例如: SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION ALL SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\' |
||||
-- 作者:zhangxl1964 -- 发布时间:2014/7/1 9:18:00 -- 如果是多对多的关系,应该怎样修改?如:入库和出库二个表,要组合成一个出入库统计。
如:附件的统计表,例子中的统计是在表属性的DataColChanged中设置代码完成,这个速度很慢,用窗口的统计,速度是快,但需先加载统计的对象表。 我的要求是在不加载统计对象表的情况下,直接用窗口设置统计的筛选条件,按纽完成。
|
||||
-- 作者:有点甜 -- 发布时间:2014/7/1 9:29:00 -- 代码
If DataTables.Contains("进货") = False Then With e.Form.Controls("日期") Dim bd1 As New SQLGroupTableBuilder("统计表1","进货") Dim bd2 As New SQLGroupTableBuilder("统计表2","销售") Dim bd3 As New SQLGroupTableBuilder("统计表3","退货") dt1.Combine("型号",dt2,"型号") \'将销售统计数据组合到进货统计数据 With DataTables("统计_Table1").DataCols \'用表达式列计算库存数据 Dim dt_jh As DataTable For Each r As Row In Tables("统计_Table1").Rows Tables("统计_Table1").DefaultRowHeight = 35 |
||||
-- 作者:zhangxl1964 -- 发布时间:2014/7/1 9:42:00 -- 谢谢!是这样的目的。我的QQ:596219836 |