设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1243|回复: 3
打印 上一主题 下一主题

[模块/函数] 一对多表的数据汇总

[复制链接]
跳转到指定楼层
1#
发表于 2011-11-25 10:50:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
acess :    A表 to B表 (1 to 多)

A表 【商品名称】【商品总量】 【 剩余】 B表 【商品名称】 【出货日期】 【出化数量】

A表中有一条记录,B表中有多条出货记录对应这条记录。



问题:

1. 可不可以VBA编程 对 【剩余】字段赋值,  实现当 A.【商品名称】=B.【商品名称】 时: 【剩余】 = 【商品总量】-sum(【出货数量】)。

2. 如果1不能实现,可不可以用查询来实现,如可以:SQL语句为?

3. 如是以上两种都不可以,怎么可以实现?(尽量简单)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

4#
发表于 2011-11-27 20:46:52 | 只看该作者
本帖最后由 鱼儿游游 于 2011-11-27 20:47 编辑

我写了一个通用窗体数据汇总器,看能不能帮到你。
http://www.office-cn.net/forum.p ... mp;page=1#pid632222
3#
发表于 2011-11-25 19:07:35 | 只看该作者
1、剩余不应作为字段来处理(如果非要做字段,则只能通过执行更新查询来完成)。
2、建立A.商品名称=B.商品名称的内联接查询,选择A表和B表的全部字段(商品名称只需要1个就好了)。
3、对2进行的查询进行分组查询(出货日期可以考虑作为条件,而不必显示),除商品数量和出货数量改为合计以外,其它字段均可默认为分组。
4、以3所建立的查询作为查询数据源,建立一个自定义字段:剩余:[商品总量]-sum[出货数量],其它字段视情况拖入网格。
至此,计算查询完成。
其实,还有一个DSum函数可以一步到位地处理的。只是,公式写得会复杂些许。此外,Dsum是域函数,当数据较多时会影响查询执行效率。这也是不打算向新手推荐的一个缘故。
2#
发表于 2011-11-25 10:57:22 | 只看该作者
try
联合查询
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 00:08 , Processed in 0.108525 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表