sql - MS Access SQL 图表问题/图表消失
问题描述
只要正确打开StartDate1
并EndDate1
填充了警报表单,我的查询就可以正常工作:
查询:AllAlarms
SELECT Table1.FtStageCd, Table1.Date, Table1.OutAl
FROM Table1
WHERE (((Table1.Date) Between [Forms]![Alarms]![StartDate1] And [Forms]![Alarms]![EndDate1]))
ORDER BY Table1.Date;
当我使用 MS Access 图表向导使用上述查询作为其行源在 MS Access 中创建图表时,在我选择图例之前都可以。当我在设计模式和表单/报告模式中选择图例时,它会变成空白。没有图例(系列),它加载得很好。
当我"WHERE (((Table1.Date) Between [Forms]![Alarms]![StartDate1] And [Forms]![Alarms]![EndDate1]))"
从上面的查询中删除时,图表会正常显示数据(未按我想要的方式排序,但会显示数据)。
我尝试使用与“警报”表单分开的图表生成一个单独的报告,然后首先加载“警报”表单 - 填充“StardDate1”和“EndDate1”,这个单独的隔离表单仍然不起作用(暗示它不起作用)听起来像是时间问题)。
以下是图表的行源供参考:
TRANSFORM Sum([AllAlarms].[OutAl]) AS SumOfOutAl
SELECT [AllAlarms].[Date]
FROM [AllAlarms]
GROUP BY [AllAlarms].[Date]
ORDER BY [AllAlarms].[Date]
PIVOT [AllAlarms].[FtStageCd];
我尝试了其他方法,例如创建图表并在 VBA 中更改它,但没有发现任何可用于编辑的属性(尝试以不同的方式应用日期范围 - 无法覆盖访问图表轴)。我试过不使用 Access 2016 图表向导,但我根本无法显示任何图表 - 可能是我没有加载正确的参考?
解决方案
我很惊讶 CROSSTAB 的工作原理。AFAIK,当任何有助于 CROSSTAB 或 CROSSTAB 本身的查询中涉及动态标准时,必须有一个 PARAMETERS 子句或 CROSSTAB 必须指定列标题。查看http://allenbrowne.com/ser-67.html#Param
推荐阅读
- database - 将 influxdb 数据/表下载为 csv 文件?
- wikidata-api - 如何从 wikidata API 中提取人名信息?
- django - “产品”不是注册的命名空间
- java - 在 selenium 中动态提取 URL 的一部分?
- jestjs - 获取意外的令牌,如果在 JS 文件中导入 json 文件并使用 Jest 进行纱线测试,则需要
- c# - 如何从 C# 中的文件中读取特定字符串?
- spring - 无法启动 Spring Boot 2.0.2 应用程序
- c++ - 数组下标错误
- r - 创建一个循环对 n-1 行进行二次采样
- python - 增量和减量不起作用