Mastering the ‘Existing Row’ Check
In a previous post, we explored how to use AddRow() and canvas controls to build dynamic project templates. This AddRow()-only logic is a perfect fit for that specific scenario: applying a template. Templates are, by nature, a fixed set of variables—a list of items linked in a strict manner. Our original logic was efficient for this: it would filter out the parts already in the receiving table and only add the missing rows.
The Limit of a Creation-Only Model
However, while that template logic functions perfectly for its purpose, a live project quickly moves beyond the setup phase. We can now imagine new scenarios our old button can’t handle.
What if we need to follow up on a budget for an existing task? Or what if we need to mark a specific sub-task as ‘Stuck’?
These are management actions. They require us to find an existing row and update it. Our previous setup, built only to AddRow, simply cannot do this.
The Core Logic: Checking for an ‘Existing Row’
The robust solution is to combine AddRow() and ModifyRows() into a single, intelligent action. This is the "Find or Create" (or "Upsert") pattern, and its entire power hinges on one simple…










