# Linking Multiple Records in a Form Using Collection Table Instead of Choice

**URL:** <https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004>\
**Category:** Ask for Help\
**Created:** [March 26, 2025, 8:55pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004 "2025-03-26T20:55:07Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vinne](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/vinne/32/91429_2.png) [@Vinne](https://community.glideapps.com/u/Vinne)\
**Post date:** [March 26, 2025, 8:55pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/1 "2025-03-26T20:55:07Z")

</div>

**Hello,**

I have an issue with linking the appropriate records between two tables in my Glide app.

- **Table 1** contains “Clients,” each consisting of two, three, or four individual persons.
- **Table 2** contains a list of all individuals who can be part of a Client.

I would like to enable a search function in the form for adding a new Client (in **Table 1** ) that allows selecting individuals from **Table 2** and assigning them to the Client with a click.

Could you suggest the best way to achieve this in Glide? Is there a way to select related records in a form using a **“Collection Table”** instead of the **“Choice”** option?

Thank you for your help!

---

<div class="post-metadata">

**Author:** ![FrancoisDigico](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/francoisdigico/32/75651_2.png) [@FrancoisDigico](https://community.glideapps.com/u/FrancoisDigico)\
**Post date:** [March 26, 2025, 11:35pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/2 "2025-03-26T23:35:37Z")

</div>

Hello Vine,  
You need to understand how to have a relation column table, between your table 1 and table 2.

1. In table 1, create a column called “Link to table 2”, match, choose \> User table \> “row ID” or whatever column you choose as a serial number.
2. In table 2, create also a column “Link to table 1”, match, user ID etc.

This will be a first easy example. Databases are all about matching together, with a unique serial number / barcode / row unique ID.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 27, 2025, 2:10am UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/3 "2025-03-27T02:10:12Z")

</div>

Add a choice component when you add a new client, allow choosing multiple options, and point it to the individuals list.

I would suggest storing rowIDs, but show the names of those individuals on the front end.

---

<div class="post-metadata">

**Author:** ![Vinne](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/vinne/32/91429_2.png) [@Vinne](https://community.glideapps.com/u/Vinne)\
**Post date:** [March 27, 2025, 7:32am UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/4 "2025-03-27T07:32:38Z")

</div>

Yes, I understand how relationships between columns work. I use RowId to link them, and everything works nicely. However, when adding a new record via a form, I would like to be able to select a record from the second table, but necessarily in the form of a “Collection Table” rather than from a choice option.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 27, 2025, 12:44pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/5 "2025-03-27T12:44:37Z")

</div>

Is it only because of aesthetics? I would suggest trying the custom component with JSON for that. Warning: it’s super complex to get that right.

---

<div class="post-metadata">

**Author:** ![Vinne](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/vinne/32/91429_2.png) [@Vinne](https://community.glideapps.com/u/Vinne)\
**Post date:** [March 27, 2025, 7:54pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/6 "2025-03-27T19:54:52Z")

</div>

It was about the aesthetics of searching – the name is one thing, but the other columns are also important. I solved this by using **Collection Data Grid** and a button option that temporarily assigns a value to a given row. Then, in the next form field, in **choice** , I have filtered options from the table.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 28, 2025, 12:21am UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/7 "2025-03-28T00:21:39Z")

</div>

How would you reset those values for the next form submission though?

---

<div class="post-metadata">

**Author:** ![Vinne](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/vinne/32/91429_2.png) [@Vinne](https://community.glideapps.com/u/Vinne)\
**Post date:** [March 28, 2025, 9:00pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/8 "2025-03-28T21:00:52Z")

</div>

The temporary value assignment is taken from the user table and is assigned anew each time the form is entered

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 29, 2025, 3:51am UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/9 "2025-03-29T03:51:53Z")

</div>

Oh so you have something like a comma-delimited list of IDs in the user profiles table, instead of something like a boolean on each row?

---

<div class="post-metadata">

**Author:** ![Vinne](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/vinne/32/91429_2.png) [@Vinne](https://community.glideapps.com/u/Vinne)\
**Post date:** [March 29, 2025, 10:34am UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/10 "2025-03-29T10:34:06Z")

</div>

I did it this way: To add a new row in the _Clients Table_, the system redirects me to another table containing leads. There, I select the lead I want to convert into a client using a button.

This button triggers a workflow that checks whether the lead has already been converted into a client. If it has, a message appears: _“Lead converted into a client – go to the edit menu.”_ If the lead has not yet been converted, its **RowID** is copied to the _User_ table, into a dedicated field called _Temporary RowID_. Then, the system redirects me to the client creation form.

In the _Client Form_, there is a table of individuals containing a _Temporary RowID_ column and two buttons: _Assign Temporary RowID_ and _Remove Temporary RowID_. In the next module, there are _Choice_ buttons that filter the data, displaying only records whose _Temporary RowID_ matches the one stored in the _User_ table. Additionally, there are extra fields where I can assign values using the _Choice_ option.

That’s the short version. I’m not a native English speaker, sorry if I made any mistakes! 😅  
By the way, do you have any advice on how to simplify this process? 😆

Although, we have a saying: _“If something is stupid but works, then it’s not stupid.”_ 😂

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [March 29, 2025, 5:24pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/11 "2025-03-29T17:24:06Z")

</div>

Two more sayings for you:

In English: “If it ain’t broken, don’t fix it.”  
In French: “Ne change pas une équipe qui gagne” (Don’t change a winning team.) Which is a similar idea.

If you got it to work, you could probably walk away and give yourself a pat on the back 🙂

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 30, 2025, 1:12am UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/12 "2025-03-30T01:12:20Z")

</div>

If it works, it works.

When you say “Choice option”, do you mean Choice components?

---

<div class="post-metadata">

**Author:** ![Vinne](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/vinne/32/91429_2.png) [@Vinne](https://community.glideapps.com/u/Vinne)\
**Post date:** [March 30, 2025, 3:43pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/13 "2025-03-30T15:43:15Z")

</div>

Yes, choice components 🙂

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [March 30, 2025, 11:47pm UTC](https://community.glideapps.com/t/linking-multiple-records-in-a-form-using-collection-table-instead-of-choice/81004/14 "2025-03-30T23:47:09Z")

</div>

> [@Vinne](#):
>
> In the _Client Form_, there is a table of individuals containing a _Temporary RowID_ column and two buttons: _Assign Temporary RowID_ and _Remove Temporary RowID_. In the next module, there are _Choice_ buttons that filter the data, displaying only records whose _Temporary RowID_ matches the one stored in the _User_ table. Additionally, there are extra fields where I can assign values using the _Choice_ option.

What if two users try to set the same individual to different clients at the same time? I guess you are using a user-specific column already here?

I feel like if you’re already using a choice component in various places, you can just have a form directly on the Leads row, have a choice component to select individuals to link to that lead, and submit.

It all comes down to aesthetic if you don’t want to use a choice component for that purpose, but I feel like this flow is complicated.
