以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 急!!!SQL查询表数据如何实现随表内容的更改及时动态更新 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13025) |
||||
-- 作者:zerohand -- 发布时间:2011/9/24 21:59:00 -- 急!!!SQL查询表数据如何实现随表内容的更改及时动态更新 说明: 有一个表A,其表的结构为 “客户名称,销售总金客,已收款,未收款,期初欠款” ================================ 现需要对表数据进行统计,SQL语句为: Select 客户名称,sum(销售总金额) as 本月销售额 ,sum(已收款) as 本月回款额,sum(期初欠款) as 期初欠款 ,sum(销售总金额)+sum(期初欠款)-sum(已收款)as 欠款额 FROM {收款明细} group by {收款明细}.客户名称
目前的问题是: 对表A新增一笔数据,或修改数据后,执行SQL语句结果无变化。
============用GroupTableBuilder统计=============================== Dim sql As String = "Select 客户名称,sum(销售总金额) as 本月销售额 ,sum(已收款) as 本月回款额,sum(期初欠款) as 期初欠款 ,sum(销售总金额)+sum(期初欠款)-sum(已收款)as 欠款额 FROM {收款明细} group by {收款明细}.客户名称" b.Totals.AddDef("本月销售额") b.Totals.AddDef("本月回款额") b.Totals.AddDef("欠款额") b.Build \'生成统计表 |
||||
-- 作者:mr725 -- 发布时间:2011/9/24 22:36:00 -- 跟表A有关系吗? |
||||
-- 作者:zerohand -- 发布时间:2011/9/24 22:42:00 -- 没有关系,只是要实现按客户GROUP BY 统计,只要能实现统计即可。可目前尝试多种方法,统计的结果就是不能动态随表A的数据进行相应的变动 |
||||
-- 作者:mr725 -- 发布时间:2011/9/24 22:43:00 -- 看不到你代码中有名为“表A”的表 |
||||
-- 作者:zerohand -- 发布时间:2011/9/24 23:27:00 -- 以下是引用mr725在2011-9-24 22:43:00的发言:
看不到你代码中有名为“表A”的表 详见附件
|
||||
-- 作者:mr725 -- 发布时间:2011/9/24 23:38:00 -- 增加记录后要保存才行,不然后台数据还是原来的呀。 |
||||
-- 作者:czy -- 发布时间:2011/9/25 0:23:00 -- 这种统计还不如直接从菜单执行SQL查询表,再用Select语句输入代码:Select 客户名称,sum(销售总金额) as 本月销售额 ,sum(已收款) as 本月回款额,sum(期初欠款) as 期初欠款 ,sum(销售总金额)+sum(期初欠款)-sum(已收款)as 欠款额 FROM {收款明细} group by {收款明细}.客户名称 然后输入表名称。 窗口按钮代码只需: DataTables("表A").Save Syscmd.Table.Load() |
||||
-- 作者:czy -- 发布时间:2011/9/25 0:25:00 -- 觉得老六应该给Syscmd.Table.Load()增加一个参数,比如
Syscmd.Table.Load(True) 有提示 Syscmd.Table.Load(false) 无提示 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/25 9:15:00 -- 呵呵,考虑一下 |
||||
-- 作者:don -- 发布时间:2011/9/25 9:42:00 -- 如不想时时保存表A,又想即时反映变化,这样: Dim b As New GroupTableBuilder("统计",DataTables("表A")) b.Groups.AddDef("客户名称") \'根据产品分组 b.Totals.AddDef("期初欠款") \'对数量进行统计 b.Totals.AddDef("销售总金额","本月销售额") \'对数量进行统计 b.Totals.AddDef("已收款","本月回款额") \'对数量进行统计 b.Filter ="客户名称 is not null" b.Build \'生成统计表 Dim t As Table = Tables("统计") t.DataTable.DataCols.add("欠款额",Gettype(Double),"ISNULL([期初欠款],0) + IsNull([本月销售额],0) - ISNULL([本月回款额],0)") MainTable = t \'打开生成的统计表
|