I am trying to do something like this in a query:
Code:
IIF([StartDate]<=[EndDate], IIF([PaymentDate] Is Between IIf(Month(Date())<=7,DateSerial(Year(Date())-1,5,1),DateSerial(Year(Date()),5,1)) And IIf(Month(Date())<=7,DateSerial(Year(Date()),6,30),DateSerial(Year(Date())+1,6,30)), IIF(EndDate]<>DateSerial(Year(Date()),6,30) And > DateSerial(Year(Date())-1,6,30) , DateSerial(Year(Date()),6,30), [EndDate]))
The current full query is
Code:
SELECT dbo_v030mbrshp01PdMembers.MemberTypeID, dbo_v030mbrshp01PdMembers.MemberGroup, dbo_v030mbrshp01PdMembers.MemberType, "Mth" & DateDiff("m",[PaymentDate],IIf(Month(Date())<=7,DateSerial(Year(Date())-1,6,30),DateSerial(Year(Date()),6,30))) AS FiscalMonthReporting, dbo_v030mbrshp01PdMembers.MembershipNumber, dbo_v030mbrshp01PdMembers.PaymentDate, dbo_v030mbrshp01PdMembers.StartDate, dbo_v030mbrshp01PdMembers.EndDate, IIf([EndDate]<>DateSerial(Year(Date()),6,30),DateSerial(Year(Date()),6,30),[EndDate]) AS DateEnd, dbo_v030mbrshp01PdMembers.InvoiceNumber
FROM dbo_v030mbrshp01PdMembers
WHERE (((dbo_v030mbrshp01PdMembers.PaymentDate) Between IIf(Month(Date())<=7,DateSerial(Year(Date())-1,5,1),DateSerial(Year(Date()),5,1)) And IIf(Month(Date())<=7,DateSerial(Year(Date()),6,30),DateSerial(Year(Date())+1,6,30))) AND ((dbo_v030mbrshp01PdMembers.StartDate)<=[EndDate]) AND ((dbo_v030mbrshp01PdMembers.EndDate)<>#6/30/2016# And (dbo_v030mbrshp01PdMembers.EndDate)>#6/30/2015#))
ORDER BY dbo_v030mbrshp01PdMembers.PaymentDate, dbo_v030mbrshp01PdMembers.StartDate, dbo_v030mbrshp01PdMembers.EndDate;
But I want the IIF to be in the DateEnd derived field since I need it to derive only when those conditions meet BUT still need to see the rest of the records when the records do not meet those conditions.
Right now the query limits to the conditions then and then derives the results as DateEnd.