Wednesday, March 21, 2012

Problem with a iif or a validation

Hello,

I have the following iif:

IIF(len(Fields!CustBirth.Value)<10,nothing,datediff(dateinterval.day, cdate(mid(Fields!CustBirth.Value,4,2)+"/"+left(...) + "/" + Right(...) )))

The thing that it is happening is that when i run a report without that CustBirth field i get an error stating that it cant convert the string "//" to date, of course it can't that is why i made the iif, how can i tell it to just try to execute the datediff when the field has the lenght bigger then 10 chars?

I have already installed SP2.

Thank you

Hello,

Please see this blog post. It describes the general issue with IIF that you are encountering. In a nutshell, IIF is a function which means that all arguments are evaluated before the function is called:

http://blogs.msdn.com/bwelcker/archive/2006/09/26/End-of-Amnesia-_2800_Avoiding-Divide-By-Zero-Errors_2900_.aspx

Best regards,
Chris

No comments:

Post a Comment