ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: david.qu

[求助] 在Access里面可不可以实现这样的分类汇总?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-10-30 11:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
没注意到楼主的要求是产品在前,客户在后,上面搞反了,查询语句改为:
SELECT [A##1].产品, [A##1].客戶, Sum(IIf([A##1].A="1月",[A##1].S,0)) AS 一月数量, Sum(IIf([A##1].A="1月",[A##1].L,0)) AS 一月利润, Sum(IIf([A##1].A="2月",[A##1].S,0)) AS 二月数量, Sum(IIf([A##1].A="2月",[A##1].L,0)) AS 二月利润, Sum(IIf([A##1].A="3月",[A##1].S,0)) AS 三月数量, Sum(IIf([A##1].A="3月",[A##1].L,0)) AS 三月利润, Sum(IIf([A##1].A="4月",[A##1].S,0)) AS 四月数量, Sum(IIf([A##1].A="4月",[A##1].L,0)) AS 四月利润, Sum(IIf([A##1].A="5月",[A##1].S,0)) AS 五月数量, Sum(IIf([A##1].A="5月",[A##1].L,0)) AS 五月利润, Sum(IIf([A##1].A="6月",[A##1].S,0)) AS 六月数量, Sum(IIf([A##1].A="6月",[A##1].L,0)) AS 六月利润, Sum(IIf([A##1].A="7月",[A##1].S,0)) AS 七月数量, Sum(IIf([A##1].A="7月",[A##1].L,0)) AS 七月利润, Sum(IIf([A##1].A="8月",[A##1].S,0)) AS 八月数量, Sum(IIf([A##1].A="8月",[A##1].L,0)) AS 八月利润, Sum(IIf([A##1].A="9月",[A##1].S,0)) AS 九月数量, Sum(IIf([A##1].A="9月",[A##1].L,0)) AS 九月利润, Sum(IIf([A##1].A="10月",[A##1].S,0)) AS 十月数量, Sum(IIf([A##1].A="10月",[A##1].L,0)) AS 十月利润, Sum(IIf([A##1].A="11月",[A##1].S,0)) AS 十一月数量, Sum(IIf([A##1].A="11月",[A##1].L,0)) AS 十一月利润, Sum(IIf([A##1].A="12月",[A##1].S,0)) AS 十二月数量, Sum(IIf([A##1].A="12月",[A##1].L,0)) AS 十二月利润
FROM (SELECT [資料表1].客戶, [資料表1].产品, Sum([資料表1].数量) AS S, Sum([資料表1].利润) AS L, Format([日期],"m\月") AS A
FROM [資料表1]
GROUP BY [資料表1].客戶, [資料表1].产品, Format([日期],"m\月")
) AS [A##1]
GROUP BY [A##1].客戶, [A##1].产品;

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-30 11:24 | 显示全部楼层
太厉害了,佩服!
要认真学习了。
谢谢您

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-30 15:54 | 显示全部楼层
原帖由 zez 于 2009-10-30 11:17 发表
没注意到楼主的要求是产品在前,客户在后,上面搞反了,查询语句改为:
SELECT [A##1].产品, [A##1].客戶, Sum(IIf([A##1].A="1月",[A##1].S,0)) AS 一月数量, Sum(IIf([A##1].A="1月",[A##1].L,0)) AS 一月利润, S ...

我发现个问题,不知道什么原因
其实这段代码是没有问题的,复制到数据库中,也可以得出结果
但是当我再回到SQL试图,点保存按钮的时候,却提示FROM语句错误,我可是什么都没有改呀?
请赐教

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-30 16:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
把错误图片传上来看看吧!
未命名.PNG

TA的精华主题

TA的得分主题

发表于 2009-10-30 17:37 | 显示全部楼层
有没有注意到了图好的第10行是:FROM [SELECT [資料表1].客戶……而我11楼的代码是:FROM (SELECT [資料表1].客戶……
倒数第二行的代码:你的是:]. AS [A##1]  我的11楼的代码是:) AS [A##1]
请注意区别

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-2 11:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 zez 于 2009-10-30 11:17 发表
没注意到楼主的要求是产品在前,客户在后,上面搞反了,查询语句改为:
SELECT [A##1].产品, [A##1].客戶, Sum(IIf([A##1].A="1月",[A##1].S,0)) AS 一月数量, Sum(IIf([A##1].A="1月",[A##1].L,0)) AS 一月利润, S ...


我研究了一下您的代码,不过不是很明白
主要是不知道为什么两个FROM和GROUP BY可以放在一起用?因为我感觉一般的都是
SELECT...
FROM..
GROUP BY......
不知能不能解释一下
谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-2 14:11 | 显示全部楼层
刚才有自习看了代码,原来是在FROM中嵌套了一个SELECT语句
恍然大悟!
谢谢各位了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 07:38 , Processed in 0.028870 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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