Child tables

Prevent duplicate entries across child table rows

Use Mark as unique for one column, or combine an aggregation field with formulas and a lookup filter to block repeats.

Tip

Short answer: For one column, turn on Mark as unique. To stop the same product being picked in more than one row, collect the chosen values in an aggregation field and filter the row's lookup so it excludes them.

When to use this

Use this when a form has a child table of order lines and each product should appear only once. Users then can't select a product that another row already uses, so the order stays clean.

Set it up

For a single column:

  1. Select the column in the table.
  2. Turn on Mark as unique in the field properties panel. See unique fields in child tables.
  3. Optionally, enter a custom error message.

For lookup-based rows:

  1. Add an aggregation field outside the table, with Aggregate table data in the context of a single item of the process turned on.
  2. Select the table and the product key column, and choose CONCATENATE. Hide the field.
  3. Open the product lookup field in the table and add a filter: the key is not part of the parent's aggregation field.
  4. Publish the form and test by picking the same product in two rows.

Important

Mark as unique works on one column per table and checks only the current item, not other submissions.

Related answers