No, that syntax will not work. You have a couple of choices:
1) Define a new relationship that adds the "private" checkbox as an additional join criterion. You might need a fixed field (like a calculation that always resolves to the value in the checkbox) on the parent side to do it. Then base the List ( ) calculation on that.
2) Use ExecuteSQL ( ) to fetch the list. You might do something like this:
Let ( [
sqlQuery = "SELECT etr_note.etr_note_field FROM etr_note WHERE etr_note.etr_note_private = 0"
ExecuteSQL ( sqlQuery ; "" ; "¶" )
That would give you a list of the notes. Make sure you commit the parent record before executing the ExecuteSQL ( ) command for performance purposes.
I would add another field, etr_note_filtered, calc defined as = If(etr_note_private;""; etr_note_field), Then get the List() of that one.
Mike- thanks for the sql info, i handed that off to one of my programmers, but i tried siplus's if statement and worked like a champ.
And for the record i added two fields, one for private and one for not,
If ( etr_note_private ≠ "Private" ; etr_note_field ; "" )
Personally, I wouldn't have done it that way. It duplicates data in the table, which will add overhead and bandwidth to the system, which will slow it down as the data load increases. (And it surprises me siplus would suggest it; he's normally very sensitive to those concerns.)
Nevertheless, so long as your data load doesn't increase too much, any of the methods will work fine.