Access 2016如何创建类似Excel数据透视表的查询?
Access实现行转列(类似Excel透视表)的两种方法
方法一:交叉表查询向导(可视化操作,最简便)
- 打开Access,点击创建选项卡,选择查询向导,在弹窗里选交叉表查询向导后确定
- 选中你的产品记录表作为数据源,点击下一步
- 行标题选
LSE_ID(用来分组的核心字段),点击下一步 - 列标题选区分oil和gas的字段(比如你的表中是
产品类型或类似字段),点击下一步 - 字段选
TECHNICALEUR,汇总方式选Sum(如果每个LSE_ID对应同类型产品只有一条记录,选First也可以),取消“包括各行小计”的勾选,点击下一步 - 给查询命名后完成,得到的结果就是
LSE_ID、oil、gas三列,你可以手动把列名改成TECHNICALEUR(oil)和TECHNICALEUR(gas)
方法二:直接编写SQL语句(灵活可控)
如果熟悉SQL,新建空白查询后切换到SQL视图,输入以下语句(替换成你实际的表名和字段名):
SELECT LSE_ID, Sum(IIf(产品类型='oil', TECHNICALEUR, 0)) AS [TECHNICALEUR(oil)], Sum(IIf(产品类型='gas', TECHNICALEUR, 0)) AS [TECHNICALEUR(gas)] FROM 你的产品表名 GROUP BY LSE_ID;
运行后就能得到目标格式的结果。
你之前用DSUM出错的原因
你之前的DSUM没加精准的筛选条件,导致计算了全表的总和。如果一定要用DSUM,正确写法应该是:
TECHNICALEUR(oil): DSUM("TECHNICALEUR", "你的表名", "LSE_ID='" & [LSE_ID] & "' AND 产品类型='oil'")
但这种方法效率远不如上面两种,不推荐使用。
内容的提问来源于stack exchange,提问作者Claire
相关产品推荐
相关产品推荐

