У меня есть следующий код, который при выполнении вернет количество клиентов, которые поступили в течение данного месяца в параметре. Тем не менее, во время выполнения кода я получаю ошибку времени выполнения 3021 (нет текущей записи). Где именно я иду не так?
Public Function CountOfcustomer(RequiredDate As Date)
Dim strSQL As String
Dim rst As DAO.Recordset
strSQL = "SELECT Format([dateArrived]," & Chr(34) & "mm\yyyy" & Chr(34) & ") AS reportDate, Count(CalibrationLog.customer) AS CountOfcustomer " & _
"From CalibrationLog " & _
"GROUP BY Format([dateArrived]," & Chr(34) & "mm\yyyy" & Chr(34) & ") " & _
"HAVING (((Format([dateArrived]," & Chr(34) & "mm\yyyy" & Chr(34) & "))= Format(" & RequiredDate & "," & Chr(34) & "mm\yyyy" & Chr(34) & ") ));"
Set rst = CurrentDb.OpenRecordset(strSQL)
CountOfcustomer = rst!CountOfcustomer
rst.Close
Set rst = Nothing
End Function
Показано в окне "Немедленно";
SELECT Format([dateArrived],"mm\yyyy") AS reportDate, Count(CalibrationLog.customer) AS CountOfcustomer
From CalibrationLog
GROUP BY Format([dateArrived],"mm\yyyy")
HAVING (((Format([dateArrived],"mm\yyyy"))= Format(12/02/2020,"mm\yyyy") ));