Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何实现将分组求和查询的结果更新到新表格里?

fan  发表于:2012-06-13 22:00:50  
复制

有两张表A,B

表A为:

表B为:

要求对A表按照ID分组求和(也就是a,b,c三组各组的和),然后更新到ID相对应的表B的VALUE里。

完成的效果应该是这样的:

以上只是个例子,实际中A表中有几千个分组。

我的方法是先建立一个分组求和的查询,但是查询的结果无法用来更新,只能复制到另外一张过渡表中,再利用过渡表进行更新的查询。

问题有两个,

1. 有什么办法可以直接利用求和查询的结果来进行更新么?

2. 可不可以跳过求和查询,直接进行求和更新呢?

先谢过~~~

 

Top
浪淘沙 发表于:2012-06-13 23:58:11

分组查询的确是不可更新的查询,想跳过分组求和查询直接更新这种可能性我个人认为不存在。

其实你已经得出和我一样的方案--过渡表,但不需要手工复制,可以在程序运行中自动生成该表,更新后自动删除该表,再多分组数据也轻松搞定。

点击下载此附件

 

 



王樵民 发表于:2012-06-14 06:40:15

创建一个更新查询即可

UPDATE B SET B.[VALUE] = DSum("VALUE","A","ID='" & [B].[ID] & "'");

参考下面的设计视图

 字段  ID  VALUE
 表  B  B
 更新到    DSum("VALUE","A","ID='" & [B].[ID] & "'")
 条件    
 或    



fan 发表于:2012-06-14 16:32:01
十分感谢两位老师的帮助~~~~

总记录:3篇  页次:1/1 9 1 :