September 7, 2022

MultiEquals - XpressDox

Compare a value against the contents of a list which is constructed by the MultiSelect or DefineSetAllGroup.

Command structure:

«If(MultiEquals(OptionList,’ABC’))»Yes, ‘ABC’ is in «OptionList»«Else()»No, ‘ABC’ is not in «OptionList»«End()»

Example:

«ChooseUsingCheckBox(SelectAll,Y,N,N)»
«MultiSelect(SelectAll,Option1~~ABC~~Option2~~DEF~~Option3~~XYZ,|,OptionList)»
«OptionList»
«If(MultiEquals(OptionList,’ABC’))»Yes, ‘ABC’ is in «OptionList»«Else()»No, ‘ABC’ is not in «OptionList»«End()»

In the above example, MultiSelect or DefineSetAllGroup (the same command but renamed from v12) has been used to create multiple checkboxes, as well as a delimited list out of the ‘true’ values’. In this example, the delimited list is called OptionList. If all 3 checkboxes are checked, the value of OptionList would be ABC|DEF|XYZ.

Then use MultiEquals to check whether the string ‘ABC’ exists in the list. Should the user have checked any number of boxes, including Option1 (ABC) then the value would be true.

«If(OptionList = 'ABC')» would not work here; even if the user had checked only that one box the list would have the value ABC| (i.e. including the pipe) and so the logic would not work out.

Copy the answer and try it out for yourself!

This feature is available from v14 onwards.