如何使用Access VBA将两个查询的结果显示到MS图表对象上

问题描述 投票:0回答:1

我不确定是否有人以前这样做过,但我一直在搜寻以寻求学习,却一无所获。我有两个查询,它们当前在聚集柱形图中产生两个MS图表对象的RowSource。它有效,但是,由于数据集是相似的,因为两个查询的x轴值都相似,所以我想在具有两个序列的单个图表上显示两个数据集。这将在x轴上显示ItemNames,在y轴上显示相应系列的SumOfNetSales

qryChartSummer看起来像:

+================+===================+
+  ItemNames     +    SumOfNetSales  +     
+================+===================+
+  Cups          +  £2000.40         +
+----------------+-------------------+
+  Plates        +  £4500.32         +
+----------------+-------------------+
+  Spoons        +  £2300.12         +
+----------------+-------------------+
+  Soda glasses  +  £3200.30         +
+----------------+-------------------+
+  Soda glasses  +  £2500.00         +
+----------------+-------------------+

qryChartWinter看起来像:

+================+===================+
+  ItemNames     +    SumOfNetSales  +     
+================+===================+
+  Spoons        +  £3200.00         +
+----------------+-------------------+
+  Soda glasses  +  £1200.00         +
+----------------+-------------------+
+  Cups          +  £4300.30         +
+----------------+-------------------+

两个图表的行来源当前为:

qryChartSummerRowSource = "SELECT [ItemNames],Sum([SumOfNetPrice]) AS [SumOfSumOfNetPrice] FROM 
[qryChartSummer] GROUP BY [ItemName];"
qryChartWinterRowSource = "SELECT [ItemNames],Sum([SumOfNetPrice]) AS [SumOfSumOfNetPrice] FROM 
[qryChartWinter] GROUP BY [ItemName];"

Me.ChartSummer.RowSource = qryChartSummerRowSource
Me.ChartWinter.RowSource = qryChartWinterRowSource

如果要创建另一个名为ChartAll的图表对象,如何在ChartAll上显示这两套数据?预先感谢您的所有帮助。

编辑:

主表包含所有项目行,看起来像:+================+===================+================+=============+ + ItemNames + NetSales + DateOfSales + Period + +================+===================+================+=============+ + Cups + £66.80 + 02/11/2019 + Autumn + +----------------+-------------------+----------------+-------------+ + Cups + £34.34 + 12/12/2019 + Winter + +----------------+-------------------+----------------+-------------+ + Cups + £56.26 + 03/01/2019 + Winter + +----------------+-------------------+----------------+-------------+ + Cups + £34.34 + 04/02/2019 + Winter + +----------------+-------------------+----------------+-------------+ + Plates + £50.32 + 03/11/2019 + Autumn + +----------------+-------------------+----------------+-------------+ + Spoons + £24.12 + 08/03/2019 + Spring + +----------------+-------------------+----------------+-------------+ + Soda glasses + £52.30 + 07/07/2019 + Summer + +----------------+-------------------+----------------+-------------+ + Soda glasses + £34.00 + 03/08/2019 + Summer + +----------------+-------------------+----------------+-------------+ + Plates + £51.30 + 03/10/2019 + Autumn + +----------------+-------------------+----------------+-------------+ + Plates + £65.32 + 06/09/2019 + Autumn + +----------------+-------------------+----------------+-------------+ + Spoons + £50.12 + 08/03/2019 + Spring + +----------------+-------------------+----------------+-------------+

sql ms-access access-vba
1个回答
0
投票

我使用以下命令创建了一个名为qryAll的查询:SELECT ItemName, NetSales, Period FROM tblAllSales ORDER BY ItemName ASC

然后在表单上加载事件:

Me.ChartAll.RowSource = "TRANSFORM Sum([NetSales]) AS [SumOfNetPrice] SELECT [ItemName] FROM [qryAll] GROUP BY [ItemName] PIVOT [Period];"

[Period]项目按预期显示为MS图表对象上的系列。

© www.soinside.com 2019 - 2024. All rights reserved.