Hi Frank
The date check needs to be an OR not AND
WHERE NOT EMPTY(dob) AND ;
(DATE(YEAR(m.tdStart), MONTH(dob), DAY(dob)) >=m.tdstart OR ;
DATE(YEAR(m.tdEnd), MONTH(dob), DAY(dob)) <=m.tdend ));
Geoff
>Geoff,
>
>after getting around a blank date problem, I am not getting the logic right in this. It works well if the year of both start and end dates is the same. However if I have the start date set at 31st Dec 2004 and End date at 1st Jan 2005, I get no data coming out, whereas there are dates on both days.
>
>
>WHERE NOT EMPTY(dob) AND (DATE(YEAR(m.tdStart), MONTH(dob), DAY(dob)) >=m.tdstart ;
> AND DATE(YEAR(m.tdEnd), MONTH(dob), DAY(dob)) <=m.tdend );
>
>
>Any ideas on how I need to embellish the logic to get it to work?
>
>
>
>>Hi Frank
>>
>>Because the start year and end year may be different you need to test your month and day against both ends seperately.
>>
>>Try this
>>
>>
>>m.d_start = DATE(2004,10,15)
>>m.d_end = DATE(2005,04,15)
>>
>>SELECT dob as dactivity, client_no, PADR("Birthday", 20) as cType;
>> FROM c_clientlist;
>> WHERE DATE(YEAR(m.d_start),MONTH(dob),DAY(dob)) >= m.d_start AND ;
>> DATE(YEAR(m.d_end),MONTH(dob),DAY(dob)) <= m.d_end
>>
>>
>>Geoff
>>
>>>Hi,
>>>
>>>I've gone brain dead :(
>>>
>>>I have some SQL code:
>>>
>>>
>>>SELECT dob as dactivity, client_no, PADR("Birthday", 20) as cType;
>>> FROM c_clientlist;
>>> WHERE DAY(dob) = DAY(DATE()) AND MONTH(dob) = MONTH(DATE())
>>>
>>>
>>>which will give me anybody who was born on the current day.
>>>
>>>Say I wanted to allow the user to enter a starting date and an ending date and then I will pull out all people who have birthdays falling within that range.
>>>
>>>How do I convert this to work on a range of dates?
May all your weeds be wildflowers