所以我在下面的链接中有一个数据表(zip文件中的excel电子表格): https://drive.google.com/file/d/0B4mYzBk2sry_eDg5NVhTcmtXTTg/view?usp=sharing
已按“发布日期 - 最旧到最近”排序和排序。
我所追求的是一个解决方案,可以让我了解财务年度(2015年7月1日至2016年6月30日)一个月内发生的问题。
例如,参考数据,2015年7月有13个问题,2015年8月有16个问题,2015年9月有9个问题等。
我已经创建了以下代码来生成电子表格中提供的数据:
SELECT tblCustomerNames_1.CustomerName AS [Issued To], tblCustomerNames.CustomerName AS [Issued By], tblIssueSheets.DateIssued AS [Date Issued], Count(tblMarkHistory.MarkHistoryID) AS [Marks Issued]
FROM (tblCustomerNames AS tblCustomerNames_1 INNER JOIN (tblIssueSheets INNER JOIN tblCustomerNames ON tblIssueSheets.IssuedBy = tblCustomerNames.CustomerID) ON tblCustomerNames_1.CustomerID = tblIssueSheets.CustomerID) INNER JOIN tblMarkHistory ON tblIssueSheets.IssueID = tblMarkHistory.IssueID
WHERE (((tblIssueSheets.DateIssued)>=[DateFrom] And (tblIssueSheets.DateIssued)<[DateTo]) AND ((tblCustomerNames.CustomerID)=2447))
GROUP BY tblCustomerNames_1.CustomerName, tblCustomerNames.CustomerName, tblIssueSheets.DateIssued
ORDER BY tblCustomerNames_1.CustomerName;
请注意,数据是故意遗漏的,因为我认为到目前为止我提供的信息对于所需的信息更为重要。如果还不够,请告诉我,我将提供其余的数据。
按月份和年份发布的日期总数的结果表就是我所追求的。
我不知道怎么回事。任何帮助将不胜感激。
答案 0 :(得分:0)
使用已保存的查询作为来源,可能是:
Select
Month([Date Issued]) As [Month],
Count(*) As Issues
From
YourQuery
Where
[Date Issued] Between #2015/07/01# And #2016/06/30#
Group By
Month([Date Issued])
Order By
Year([Date Issued]),
Month([Date Issued])
如果Month#应该在财政年度之后,请使用通用函数来抵消日历年的日期:
Public Function DateFinancial( _
ByVal datDate As Date) _
As Date
' Number of months from start of calendar year to start of financial year.
Const clngMonthOffset As Long = 6
Dim datFinancial As Date
datFinancial = DateAdd("m", -clngMonthOffset, datDate)
DateFinancial = datFinancial
End Function