Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 访问报告:如何在一个字段上分组,但按另一个字段排序?_Sorting_Ms Access_Report_Grouping - Fatal编程技术网

Sorting 访问报告:如何在一个字段上分组,但按另一个字段排序?

Sorting 访问报告:如何在一个字段上分组,但按另一个字段排序?,sorting,ms-access,report,grouping,Sorting,Ms Access,Report,Grouping,我读过类似的问题,但它们似乎不太适合我的问题,或者它们处于不同的环境中 我在MS Access 2016工作 我有一个客户投诉报告,其中包含以下字段:年、月、计数([投诉])、投诉描述。 (投诉#是我们分配给表中输入的每个投诉的文字ID号) 我按年度和月份对报告进行分组,然后按投诉描述进行分组,并对每个描述进行投诉数量统计,然后进行投诉数量统计,将当月的投诉总数相加,并将其粘贴在月底,得出如下结果: 2020 03 <= (this is the month group header)

我读过类似的问题,但它们似乎不太适合我的问题,或者它们处于不同的环境中

我在MS Access 2016工作

我有一个客户投诉报告,其中包含以下字段:年、月、计数([投诉])、投诉描述。 (投诉#是我们分配给表中输入的每个投诉的文字ID号)

我按年度和月份对报告进行分组,然后按投诉描述进行分组,并对每个描述进行投诉数量统计,然后进行投诉数量统计,将当月的投诉总数相加,并将其粘贴在月底,得出如下结果:

2020  03 <= (this is the month group header)

complaint desc | count of complaints/desc    
---------------------------------------------    
electrical     | 2                               {This section is 
cosmetic       | 6                               {in the Complaint_desc
mechanical     | 1                               {group footer
---------------------------------------------
                 9 <= (this is month group footer)
不管我做什么似乎都不起作用,desc组的内置排序“a在顶部”覆盖了查询中的排序。添加“按投诉排序”也会被忽略。我尝试添加一个按计数排序(投诉#),access告诉我不能在order by中使用聚合函数(但我认为它无论如何都会被重写)。我还试着按计数分组(投诉),也按计数分组。尝试将投诉描述和计数(投诉描述)移动到投诉组页眉,结果弄乱了月尾的总计数,并将投诉描述分解,使其无法达到原来的目的

我真的不认为这一改变会有什么大不了的,但一个解决方案已经让我逃避了一段时间。我读过类似的问题,并试着举例说明,但它们并没有达到我预期的结果


有什么想法吗?

我想出来了!感谢@UnhandledException,他让我走上了正确的轨道

以下是我所做的: 报告所基于的原始查询包含以下内容:

Design mode:

Field | Year      | Month     | Complaint_Desc | Complaint# |
Total | Group By  | Group By  | Group By       | Group By   |
Sort  |           |           |                |            |

or in SQL: 

SELECT Year, Month, [tbl Failure Mode].[Code description], [Complaint Data Table].[Complaint #] 
FROM [tbl Failure Mode] RIGHT JOIN [Complaint Data Table] ON [tbl Failure Mode].[ID code] = [Complaint Data Table].[Failure Mode]
GROUP BY Year, Month, [tbl Failure Mode].[Code description], [Complaint Data Table].[Complaint #];
然后我使用报告的group和sort函数来显示我想要的结果,除了我提到的hiccup

我根据该查询提出了另一个查询:

Design mode:

Field | Year       | Month      | Complaint_Desc | Complaint# |
Total | Group By   | Group By   | Group By       | Count      |
Sort  | Descending | Descending |                | Descending |

or in SQL: 

SELECT [qry FailureMode].Year, [qry FailureMode].Month, [qry FailureMode].[Complaint_description], Count([qry FailureMode].[Complaint #]) AS [CountOfComplaint #], [qry FailureMode].Complaint
FROM [qry FailureMode]
GROUP BY [qry FailureMode].Year, [qry FailureMode].Month, [qry FailureMode].[Code description], [qry FailureMode].Complaint
ORDER BY [qry FailureMode].Year DESC , [qry FailureMode].Month DESC , Count([qry FailureMode].[Complaint #]) DESC;
然后我改变了报告结构:

我删除了Complaint_Desc组,将Complaint_Desc和CountofComplaint#(它现在不是一个函数,但在我的新查询中是自己的计算字段)移动到报告的细节部分。然后,我删除了我的第二个计数(投诉),作为每个月的总数,并将其替换为“AccessTotalScontofComplaint”,即=Sum([CountOfComplaint#]),我通过右键单击详细信息中的CountOfComplaint#Desc滚动到“total”并单击“Sum”自动创建了该计数。(我删除了额外的AccessTotalsCountOfComplaint,它在我需要它的月份组页脚之外…)


我希望这对其他人有所帮助,再次感谢您为我指出了正确方向的未处理异常。

我找到了答案!感谢@UnhandledException,他让我走上了正确的轨道

以下是我所做的: 报告所基于的原始查询包含以下内容:

Design mode:

Field | Year      | Month     | Complaint_Desc | Complaint# |
Total | Group By  | Group By  | Group By       | Group By   |
Sort  |           |           |                |            |

or in SQL: 

SELECT Year, Month, [tbl Failure Mode].[Code description], [Complaint Data Table].[Complaint #] 
FROM [tbl Failure Mode] RIGHT JOIN [Complaint Data Table] ON [tbl Failure Mode].[ID code] = [Complaint Data Table].[Failure Mode]
GROUP BY Year, Month, [tbl Failure Mode].[Code description], [Complaint Data Table].[Complaint #];
然后我使用报告的group和sort函数来显示我想要的结果,除了我提到的hiccup

我根据该查询提出了另一个查询:

Design mode:

Field | Year       | Month      | Complaint_Desc | Complaint# |
Total | Group By   | Group By   | Group By       | Count      |
Sort  | Descending | Descending |                | Descending |

or in SQL: 

SELECT [qry FailureMode].Year, [qry FailureMode].Month, [qry FailureMode].[Complaint_description], Count([qry FailureMode].[Complaint #]) AS [CountOfComplaint #], [qry FailureMode].Complaint
FROM [qry FailureMode]
GROUP BY [qry FailureMode].Year, [qry FailureMode].Month, [qry FailureMode].[Code description], [qry FailureMode].Complaint
ORDER BY [qry FailureMode].Year DESC , [qry FailureMode].Month DESC , Count([qry FailureMode].[Complaint #]) DESC;
然后我改变了报告结构:

我删除了Complaint_Desc组,将Complaint_Desc和CountofComplaint#(它现在不是一个函数,但在我的新查询中是自己的计算字段)移动到报告的细节部分。然后,我删除了我的第二个计数(投诉),作为每个月的总数,并将其替换为“AccessTotalScontofComplaint”,即=Sum([CountOfComplaint#]),我通过右键单击详细信息中的CountOfComplaint#Desc滚动到“total”并单击“Sum”自动创建了该计数。(我删除了额外的AccessTotalsCountOfComplaint,它在我需要它的月份组页脚之外…)


我希望这对其他人有所帮助,再次感谢为我指明正确方向的未处理异常。

使用子查询帮助不会吗?@UnhandledException以什么方式?如果我创建一个子查询并使用它进行排序,我相信投诉描述组内置的“a on Top”排序将覆盖它。或者我误解了你的建议?使用子查询是否有帮助?@UnhandledException以何种方式?如果我创建一个子查询并使用它进行排序,我相信投诉描述组内置的“a on Top”排序将覆盖它。或者我误解了你的建议?这几乎就是我的意思。据我所知,您使用两个单独的Microsoft Access查询对象。我会想在一个查询中同时使用这两种方法,所以在子查询中也是如此。我的意思是这也是可能的。但最终结果是一样的。很高兴你成功了,我明白你的意思了。你是对的,我现在有2个查询对象。充分披露:我没有太多的子查询经验;所以这不是我马上想到的地方。当你指出这个方法的时候,我考虑了一下,我突然想到,“哦。。。如果我在这个基础上进行另一个查询。。。我会得到我需要的。我需要好好学习,这样我才能像你建议的那样更有效率地做事。再次感谢!这几乎就是我的意思。据我所知,您使用两个单独的Microsoft Access查询对象。我会想在一个查询中同时使用这两种方法,所以在子查询中也是如此。我的意思是这也是可能的。但最终结果是一样的。很高兴你成功了,我明白你的意思了。你是对的,我现在有2个查询对象。充分披露:我没有太多的子查询经验;所以这不是我马上想到的地方。当你指出这个方法时,我考虑了一下,我突然想到,“哦……如果我根据这个问题再做一次查询……我会得到我需要的。我需要学习,这样我才能像你建议的那样更有效率地做事情。再次感谢!