What am I missing on my workflow trigger logic?

I need a workflow to trigger when one of a specific set of fields filled in when the record is first created, or is subsequently changed so Iโ€™ve created the following condition. The problem I am having is that when the record is first created it is firing, even when none of the nominated fields have been entered. I would have thought the ISNOTBLANK would have filtered those out but it hasnโ€™t

Or([_THISROW_BEFORE].[Reprint] <> [_THISROW_AFTER].[Reprint]
,AND(ISNOTBLANK([JSAs Required])
,[_THISROW_BEFORE].[JSAs Required] <> [_THISROW_AFTER].[JSAs Required]
)
,AND(ISNOTBLANK([Specs Required])
,[_THISROW_BEFORE].[Specs Required] <> [_THISROW_AFTER].[Specs Required]
)
,AND(ISNOTBLANK([Tasks])
,[_THISROW_BEFORE].[Tasks] <> [_THISROW_AFTER].[Tasks]
)
,AND(ISNOTblank([Attachment 1])
,[_THISROW_BEFORE].[Attachment 1] <> [_THISROW_AFTER].[Attachment 1]
)
,AND(ISNOTblank([Attachment 2])
,[_THISROW_BEFORE].[Attachment 2] <> [_THISROW_AFTER].[Attachment 2]
)
,AND(ISNOTblank([Attachment 3])
,[_THISROW_BEFORE].[Attachment 3] <> [_THISROW_AFTER].[Attachment 3]
)
)

Solved Solved
0 2 171
1 ACCEPTED SOLUTION

I believe, in general, it should not happen.

From the expression shared , it sounds that various AND() subexpressions have ultimately been ORed with [_THISROW_BEFORE].[Reprint] <> [_THISROW_AFTER].[Reprint]

So you may wish to verify if for some reason this [Reprint] crosscheck condition is causing the workflow to fire for some reason. Also you may wish to verify any specific reason you are not checking ISNOTBLANK() with this column?

If the [Reprint] is blank before and after, it will evaluate to true. Please refer the following section in the article below

When comparing before and after values, be aware of the following issue. If both the before and after values are empty, the following expression always return โ€˜trueโ€™.

[_THISROW_BEFORE].[Status] <> [_THISROW_AFTER].[Status]

View solution in original post

2 REPLIES 2

I believe, in general, it should not happen.

From the expression shared , it sounds that various AND() subexpressions have ultimately been ORed with [_THISROW_BEFORE].[Reprint] <> [_THISROW_AFTER].[Reprint]

So you may wish to verify if for some reason this [Reprint] crosscheck condition is causing the workflow to fire for some reason. Also you may wish to verify any specific reason you are not checking ISNOTBLANK() with this column?

If the [Reprint] is blank before and after, it will evaluate to true. Please refer the following section in the article below

When comparing before and after values, be aware of the following issue. If both the before and after values are empty, the following expression always return โ€˜trueโ€™.

[_THISROW_BEFORE].[Status] <> [_THISROW_AFTER].[Status]

And therein lies the answer. Thank you for that. Should have realised NULL never equals NULL, not even in MS Access

Top Labels in this Space