MS Access - 动态交叉表查询 - 用于总计行的VBA,提供列总计

时间:2016-09-29 05:24:29

标签: sql vba ms-access access-vba ms-access-2010

我构建了一个动态交叉表查询,用户从多个组合框中选择选项,然后使用VBA更新交叉表查询的SQL。然后,它又显示在子表单上。我的问题基本上是如何以编程方式(VBA或SQL,不关心任何一种方式)添加计算每列平均值的总计行。我知道如何手动执行此操作,但由于未设置列数和列标题,因此这是不切实际的。我基本上想要在底部自动设置总计行以获得每列的平均值,而不管列数或列标题的数量。下面显示了一个潜在案例的例子,用户输入在顶部。

 Group: A               
 Team:    All               
 Start Date:    1/1/2014                
 End Date:  5/31/2014               
 Query Type:    Monthly 

 Name           2014-Jan    2014-Feb    2014-Mar    2014-Apr    2014-May
 John Doe1         1            2         3           4            5
 John Doe2         2            2         2           2            2
 John Doe3         1            5         9          13           17
 John Doe4         2           10        18          26           34
 John Doe5         1            8        15          22           29
 John Doe6         2           12        22          32           42
 John Doe7         1           15        29          43           57
 John Doe8         2           14        26          38           50
 John Doe9         1           12        23          34           45
 Total (Avg):     1.44        8.89     16.33        23.78       31.22 

我正在尝试以编程方式生成底部的“Totals”行,而不会提前知道列数,也无需通过功能区手动插入总计。

2 个答案:

答案 0 :(得分:1)

您可以在简单的选择查询中使用数据透视表。

答案 1 :(得分:0)

交叉表查询不能为您执行此操作吗?

https://support.office.com/en-us/article/Make-summary-data-easier-to-read-by-using-a-crosstab-query-8465B89C-2FF2-4CC8-BA60-2CD8484667E8

http://www.fmsinc.com/microsoftAccess/query/crosstab-report/index.html

尽管交叉表查询的功能有限,但您当然可以创建另一个查询来执行刚刚创建的交叉表查询的基本平均值。