This is pretty obscure stuff – I’m putting it here so I can refer to it later down the track when I’ve completely forgotten what I did.
In Canto Cumulus, you can set the value of a field using a formula. The syntax of the formulas is not my friend.
I wanted to set a String List to be one of three values depending on a value in two different boolean fields.
If boolean value A was checked, then I wanted to use the first string list value. If neither A nor B was checked I wanted to use the second string list value and if only B was checked, I wanted to use the third string list value. There were no records in the database with A & B both checked.
The forumla that ended up working for me was:
(fieldValue("Boolean A") == True ) ? 1 : (fieldValue("Boolean b") == True ) ? 3 : 2
With String Lists, the value of the field is actually 1-based number that references the string list entry.
You can’t match against string list fields with the value in the string. I wasted an hour or so trying this – I also wanted to set another boolean if a string list was set to a value, this ended up doing it:
(fieldValue("String List") == "1") ? True : False