Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:急!!!SQL查询表数据如何实现随表内容的更改及时动态更新

1楼
zerohand 发表于:2011/9/24 21:59:00

说明:

有一个表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 {收款明细}.客户名称"
Dim b As New GroupTableBuilder("统计表1",sql)
b.Groups.AddDef("客户名称")

b.Totals.AddDef("本月销售额")

b.Totals.AddDef("本月回款额")

b.Totals.AddDef("欠款额")

b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表

2楼
mr725 发表于:2011/9/24 22:36:00

跟表A有关系吗?

3楼
zerohand 发表于:2011/9/24 22:42:00
没有关系,只是要实现按客户GROUP BY 统计,只要能实现统计即可。可目前尝试多种方法,统计的结果就是不能动态随表A的数据进行相应的变动
4楼
mr725 发表于:2011/9/24 22:43:00

看不到你代码中有名为“表A”的表

5楼
zerohand 发表于:2011/9/24 23:27:00
以下是引用mr725在2011-9-24 22:43:00的发言:

看不到你代码中有名为“表A”的表

详见附件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

6楼
mr725 发表于:2011/9/24 23:38:00
增加记录后要保存才行,不然后台数据还是原来的呀。
7楼
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
MainTable = Tables("统计表")

Syscmd.Table.Load()

8楼
czy 发表于:2011/9/25 0:25:00

觉得老六应该给Syscmd.Table.Load()增加一个参数,比如

 

Syscmd.Table.Load(True) 有提示

Syscmd.Table.Load(false) 无提示

9楼
狐狸爸爸 发表于:2011/9/25 9:15:00
呵呵,考虑一下
10楼
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 '打开生成的统计表
共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 3 queries.