Если начало и конец финансового года постоянны (yyyy/08/01
- yyyy+1/07/31
), попробуйте следующее - для текущего года:
SELECT t.*
FROM tblData As t
WHERE t.PaymentDate BETWEEN DateSerial(Year(Date()), 8, 1) AND DateSerial(Year(Date())+1, 7, 31);
для предыдущего года:
SELECT t.*
FROM tblData As t
WHERE t.PaymentDate BETWEEN DateSerial(Year(Date())-1, 8, 1) AND DateSerial(Year(Date()), 7, 31);
Если вы хотите передать значение года в запрос, попробуйте следующее:
--pass year to the query to grab data for business year yyyy/08/01 - yyyy+1/07-31
PARAMETERS BusinessYear SHORT;
SELECT t.*
FROM tblData As t
WHERE t.PaymentDate BETWEEN DateSerial(Year(BusinessYear), 8, 1) AND DateSerial(Year(BusinessYear)+1, 7, 31);
Дополнительные сведения см. В: декларация PARAMETERS (Microsoft Access SQL)