Hi Robert,
pardon me for jumping in. You wrote "so I had tried: WHERE DATE()-31". This is a terrible solution, even if it would have worked, because VFP, or MS-SQL, would have to evaluate DATE()-31 for every record! Always use variables in where clauses, whenever possible. Use ldDate=date()-31 followed by .. where datefield=ldDate.
>Sergey,
>
>What about
>...
>
> WHERE Pickdetail.editdate >= '2006-12-01' AND Pickdetail.editdate < '2007-01-01'
>
>
>Yes, that works fine. Certainly, it's simpler than what I had contrived. I guess the reason I didn't go for this more direct approach to start with was because I had originally needed to query the last 31 days of data from any point in time when the query was run so I had tried: WHERE DATE()-31. I soon found out that my ODBC/MS SQL 6.5 connection didn't support this fucntion and tried using GETDATE()-31, instead and that's were my odyssey began. When this didn't "pan out" I started looking at DATEPART and, eventually, the CONVERT function. Later, when I moved to another query that involved fixed dates, I failed to try the simplist approach.
>
>Thanks,
>Robert