So I am working with a table that has 2 text fields called DestructionMonth and DestructionYear. The data in DestructionMonth is a 2 character month (01 through 12), and year is a 4 character field.
What I need to do is find all records where the destructiondate is within 60 days/2 months.
I have tried this many different ways and am still getting an error.
So this query works fine:
SELECT documentstable.destructionmonth, documentstable.destructionyear, documentstable.id, Now() AS Expr1, Date() AS Expr2, DateAdd('m',2,destructionyear+"/"+destructionmonth) AS Expr3, Format(destructionyear+"/"+destructionmonth+"/"+"01","Short Date") AS Expr4, CInt(DateDiff("d",Format(destructionyear+"/"+destructionmonth+"/"+"01","Short Date"),Date())) AS MyDateDiff
FROM documentstable
It gives me MyDateDiff in the last column, the difference between the destructiondate and the current date. That works great.
But if I add a where clause with this:
CInt(DateDiff("d",Format(destructionyear+"/"+destructionmonth+"/"+"01","Short Date"),Date())) < 60
I get "Data Type Mismatch in criteria expression".
The value I am comparing to the 60 is an integer! How is it a mismatch?! Removing the CInt (which I had though was unnecessary anyway) doesn't help.
Any thoughts?
What I need to do is find all records where the destructiondate is within 60 days/2 months.
I have tried this many different ways and am still getting an error.
So this query works fine:
SELECT documentstable.destructionmonth, documentstable.destructionyear, documentstable.id, Now() AS Expr1, Date() AS Expr2, DateAdd('m',2,destructionyear+"/"+destructionmonth) AS Expr3, Format(destructionyear+"/"+destructionmonth+"/"+"01","Short Date") AS Expr4, CInt(DateDiff("d",Format(destructionyear+"/"+destructionmonth+"/"+"01","Short Date"),Date())) AS MyDateDiff
FROM documentstable
It gives me MyDateDiff in the last column, the difference between the destructiondate and the current date. That works great.
But if I add a where clause with this:
CInt(DateDiff("d",Format(destructionyear+"/"+destructionmonth+"/"+"01","Short Date"),Date())) < 60
I get "Data Type Mismatch in criteria expression".
The value I am comparing to the 60 is an integer! How is it a mismatch?! Removing the CInt (which I had though was unnecessary anyway) doesn't help.
Any thoughts?