Ok, it's not a problem as such, just the way functions work... before IIF
can be run (before any function can be run) all the arguments must be
resolved, the second argument in your example may not be resolved because
FORM.classCodeID may not exist. The correct way to write this...
#IIF(IsDefined("FORM.classCodeID"), 'FORM.classCodeID', DE("ALL"))#
note we are supplying a string expression as the second argument, and the
third argument is a delayed evaluation of a string expression, if we didn't
wrap DE around the "ALL" then if IIF came to evaluate that expression it
would try to evaluate the varibale ALL, wrapping DE around it causes it to
evaluate the string "ALL".
At 10:20 AM 11/1/2001, you wrote:
>why is it when you use IIF() and you are checking to see if a variable
>exists, the process will error out? here is an example:
>
>#IIF(IsDefined("FORM.classCodeID"), DE(FORM.classCodeID), DE("ALL"))#
>
>if FORM.classCodeID exists, the code works fine. but if FORM.classCodeID
>doesn't exist, it errors saying it can't find FORM.classCodeID. shouldn't
>it run the second DE() statement? am i just not understanding the whole
>IIF() tag? has anyone else run into this and is there anyway of making it
>work without using <CFIF> tags?
>
>jason
>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Your ad could be here. Monies from ads go to support these lists and provide more
resources for the community. http://www.fusionauthority.com/ads.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists