我在Ms ACCESS中使用查询来创建图表(以表格形式显示),以表示供应商的月度支出数据。我希望x轴按时间顺序排列,这就是我遇到问题的地方。
上图显示x轴从2016年4月开始,尽管最早的日期是2015年8月。
创建图表的查询代码如下:
SELECT (Format([DateStamp],"mmm"" '""yy")) AS Expr1, Sum([Item Master].SpendPerMaterial) AS Expr2
FROM [Item Master]
WHERE ((([Item Master].SupplierName)=[Forms]![Supplier History]![List0]))
GROUP BY (Format([DateStamp],"mmm"" '""yy")), (Year([DateStamp])*12+Month([DateStamp])-1);
[Item Master]是从中检索所有数据的表。 DateStamp是指具有月份的列,SpendPerMaterial是该月中某种材料的花费(由于我们查看供应商级别而非材料级别,因此汇总),List0是用户可以从中选择供应商的列表供应商名单。
答案 0 :(得分:2)
除非您包含明确的order by
,否则不应该依赖查询结果的排序。在您的情况下,结果按字母顺序排列(因为group by
)。
您可以通过添加以下内容来解决此问题:
order by max([DateStamp])
查询。
答案 1 :(得分:2)
我会在您的GROUP BY
子句之后将以下内容添加到您的查询中:
ORDER BY [datestamp] ASC;