You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MS Access窗体中正确显示饼图?Access 2013饼图异常求助

Access 2013饼图异常问题解决方案

问题描述

原使用的透视查询SQL:

TRANSFORM Count(books.ID) AS CountOfID
SELECT books.Category
FROM books
WHERE (((books.Category)='Fantasy'))
GROUP BY books.Category
PIVOT (Switch(books.status=1,'Available',books.status=2,'Reserved',books.status=3,'Unavailable'));

查询返回宽表结构结果:

Category          Total          Available          Unavailable
Fantasy           116            46                 70

尝试用该数据生成饼图时,出现不明的East、West、North选项,且饼图的Row Source被自动修改为错误SQL:

SELECT [Unavailable],Sum([Available]) AS [SumOfAvailable] FROM [qryGetFantasy] GROUP BY [Unavailable];

解决方案

1. 重构数据源查询(转为饼图兼容的长表结构)

Access饼图需要长表格式(状态名称与对应数量分为独立两列),而非原透视查询的宽表。创建新查询,使用以下SQL:

SELECT 
  Switch(books.status=1,'Available',books.status=2,'Reserved',books.status=3,'Unavailable') AS BookStatus,
  Count(books.ID) AS StatusCount
FROM books
WHERE books.Category='Fantasy'
GROUP BY Switch(books.status=1,'Available',books.status=2,'Reserved',books.status=3,'Unavailable');

该查询返回符合饼图要求的结构:

BookStatusStatusCount
Available46
Unavailable70

2. 重新绑定饼图数据源

  • 打开包含饼图的窗体/报表,选中饼图控件并打开属性窗口
  • 找到行源(Row Source) 属性,清空自动生成的错误SQL,选择刚创建的新查询,或直接粘贴上述重构后的SQL
  • 在图表向导中,将BookStatus设置为类别字段,StatusCount设置为数值字段

3. 调整饼图显示效果

  • 运行窗体/报表,确认饼图仅显示书籍状态选项
  • 右键饼图,选择图表选项,勾选「数据标签」并设置显示内容为「值和百分比」,匹配预期的显示效果

内容的提问来源于stack exchange,提问作者Anirudh Lou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:31:05