@DoWhile (Formula Language)

Executes one or more statements iteratively while a condition is true. Checks the condition after executing the statements.

Note: This @function is new with Release 6.


@DoWhile( statement ; ... ; condition )



A formula language statement. The maximum number of statements you can include is 254.


Expression that returns a value of True (1) or False (0).

Return value


True (1) unless an error occurs during execution of the condition. An "unexpected data type" error occurs if the conditional expression results in a non-numeric value.


@DoWhile executes the statements then evaluates the condition. If the condition is True (1), @DoWhile executes the statements and evaluates the condition again. If the condition is False (0), @DoWhile terminates.

Tip: If you are looping through a field containing a list, be sure the Allow multiple values check box is selected in the Field Properties box for the list field.

For other iterative statements, see @For and @While.


This agent displays the elements of the Categories field one at a time.
@If(@Elements(Categories) = 0; @Return(0); "");
n := 1;
		@Prompt([OK]; "Category " + @Text(n); Categories[n]);
		n := n + 1;
	n <= @Elements(Categories)