local lnYear lnYear=year(dstart) SELECT * FROM clients ; WHERE between(ctod(str(month(clients.dob),2)+'/'+str(day(clients.dob),2)+'/'+str(lnYear,4)) ,dstart, dend)* Note - better use strict date format and restore date respectively, but I just don't remember this format...
>>*dob = birthdate, dstart = initial date, dend = final date >> >>SELECT * FROM clients ; >> WHERE MONTH(clients.dob) >= MONTH(dstart) AND ; >> MONTH(clients.dob) > DAY(clients.dob) >= DAY(dstart) AND ; >> DAY(clients.dob) >>
>SELECT * FROM clients; > WHERE DateRange(clients.dob, dstart, dend) > >FUNCTION DateRange > * VFP 6.0 required > LPARAMETERS tDOB, tdStart, tdStop > > LOCAL llresult, lnmonth, lnday, ldthisdate > lnmonth = MONTH(tDOB) > lnday = DAY(tDOB > ldthisdate = DATE(YEAR(DATE()), lnmonth, lnday) > llresult = BETWEEN(ldthisdate, tdStart, tdStop) > RETURN llresult >ENDFUNCI'm not sure if this can even be done without the UDF. 'Course, haven't really given it a lot of thought.< g >