How do I transfer a new row ID from 1st form into a 2nd form?

I’m trying to make a form that’s two forms in one.
First I have three tabs [Task Category], [Tracking] and [Tracking lines]

On the first screen the user chooses a Task category - which then opens a form which uses [Tracking] as a source.
I use the [Task category] row ID to make a relationship between those two tabs.

Now in the [Tracking] form I have an ‘open form button’ to open a form that uses [Tracking lines] as source to add a bunch of items to the tracking record.
However when I try to make a relationship using the [Tracking] row ID, I can’t get anything from the components except for the row ID from [Task Category] - the initial first click.

How can I get the [Tracking] row ID into my [Tracking lines] so I can make a relationship between my [Tracking tab] and the multiple [Tracking lines]?

Or is this now possible at all?

If I’m understanding correctly, you should be able to use Column Values.

Add a component to your Form Screen, and in the list of components look for the “Values from Screen” group.

2 Likes

I’ll have try and see what happens.

I’ve tried this but it still only gives me the ID from the when the initial click the first screen. Not the ID from previous row.

I got the below setup:


Selecting a task which [Task Category] uses as a source
Opens a form which uses [Tracking] as a source.


I use the Row ID to establish a relationship between a [Task Category] a [Tracking] record.
I have an open form button to add different tasks to the [Tracking] record.
When I click the “Add task” it opens a form that uses [Tracking lines] as source.


My Problem is that the Row ID, which I need to make a relationship with a [Tracking line] to the [Tracking] record, is not the Row ID from the [Tracking] row, but the ID from the [Task Category].

So how do i make this relationship if I don’t seem to be able to get the Row ID from the [Tracking] row?

Modify the action at this step so that it first sets a User Specific column in your User Profile row to the value of the item being selected, followed by a Show Details Screen (or whatever you have now).

You can then use that value at any stage of the flow.

2 Likes

I’ve played around with this and I think I got it however something else happend which I’m not sure why:

Step 1


Select a category.
On the action I got the above.

  1. Set a unique identifier in the user specific column
  2. Open a form screen

I guess that unique identifier will then be used as an ID to link [Tracking] with [Tracking lines]?

However I couldn’t get that far as it opens a ‘Blank’ form screen not allowing me to assign it to any tab?


I’ve tried to redo the action.
Tried to reload the app.
I’ve checked that all tabs should still be there (see below)

Nothing seems to work.

Any advice where I go wrong?

A unique identifier won’t help you. You need something that identifies the task that was selected, such as the Task ID/Row ID.

Not exactly sure what’s going on there. I just tried the exact same scenario, and I get a form screen that defaults to my first table, and can be changed (as expected).

It might have something to do with your starting point. In your first screen shot, are the source of the screen and the source of the inline list the same table?

1 Like

For some reason it works again… :roll_eyes:

I’m a little confused.
All my tabs has Row ID columns

I have 3 steps:

Step 1
Click a picture in tile layout to select a [Task Category]
An action opens a new form to [Tracking]

Step 2
I use the ‘Row ID’ from the ‘value from screen’ component to make a relationship between the [Task Category] record and [Tracking] record.
There a ‘show form’ button to click to add multiple items [Tracking lines] to the [Tracking] record

Step 3
Button opens a form to [Tracking lines]
However when I use the ‘Row ID’ from the ‘value from screen’ component in this form it does not give me the Row ID from the screen where the button was pressed but instead the Row ID from where the Task category was selected.

What you propose should I do that in the action from step 1 to step 2?
or step 2 to step 3?

If I do it from step 1 to step 2:
I do not have a Row ID yet for the uncreated [Tracking] record, but my thinking was to use the unique identifier to create a ‘second ID’ and past that into a field when the form is created?
I can use the can use the Row ID from [Task Category] but I already have access to this in the ‘value from screen’ component

If i do it from step 2 to step 3:
I when I try to set the row ID for the record where from the button is located ([Tracking] row id) I still only have access to the Row ID from the [Task category].

I have the feeling it has something to so with when I’m on a form screen and trying to grab Row ID’s from the unsubmitted forms - they have not yet been created and hence have no row ID?

1 Like

Just coming back to this one now.

I’ll just try and summarise in a few lines, and then please tell me if my understanding is correct.

Essentially you want to create a new Tracking record within the selected Task Category, and then add one or more Tracking Line records that will be associated with the parent Tracking record. And you want to do this within a single form. So basically, you’re looking for a form within a form.

Does that summarise it correctly?

I can give you a solution to do the above, but before I go to the trouble of outlining it I want to be sure that my understanding is correct.

2 Likes

Hi @Darren_Murphy thank you for staying with me on this.

Yes your summarisation is correct.
The Task Category I see it more as more elaborate choice component. But I guess you’re right it’ll need to create a Tracking record under the Task category and then add multiple tracking line records to that tracking record.

The form within a form is spot on.
And more to the point i can’t figure out to get a way to connect the Tracking record with the Tracking lines because the only row ID i can get from the components panel is the Tracking Category row ID.

What the final output should read:
This Tracking record took X time to complete, it belongs to Y Tracking Category and it has XYZ Tracking lines.

I hope the above didn’t confuse more than confirm your and expand on your summary, but all in all your summary is correct.

Okay, so from this I take it that each Tracking Line will have both a start and end time, yes?

I guess my next question would be are the Tracking Lines completed sequentially, or in parallel? That is, in calculating the completion time for a Tracking record, do you use the sum of all Tracking Line durations, or the difference between the earliest start time and the latest end time?

Anyway, the above is a bit tangential to the main challenge. So not so important.

The solution I have in mind involves a Custom Form built on top of a single row helper table. It’s a little bit complicated to explain step by step, so I’ll make a small concept App to demonstrate how it works, that you can copy and study.

1 Like

@KPT - here is a private template that you can copy and study. I was going to make a video to walk through how it works, but I don’t have time right now. If it needs explanation, let me know and I can do that later.

2 Likes

This looks exactly what I’m trying to do - however I’m having some problems copying the app.
It seems looks like ‘Glide 101’ - however no matter what I do it just gives me a blank screen. Tried a few different browsers.
Am I doing something wrong.
Log into my glide account and push ‘copy in Glide button’



To give a little back story on the app, which is for my wife’s small ceramics business to track the profitability of her ceramics.

Ceramics is a slow process involving many different types of tasks. There’s a lot of starting and stopping. Often you must let the wet clay dry for hours or days before starting the next process. And every process is riddled with the possibility of breaking items or damaging items that go straight into the bin.

My wife has been a ceramicist for a couple of years, only making products herself - now she’s finally gotten a little ‘wind in her sails’ - so much so that she has had to hire two assistants. On the one hand, it’s great, but on the other, it has also opened another can of worms. Now she has to manage people and make sure it’s profitable enough to pay them and herself at the end of the month.

Because ceramics is messy, everyone currently has a little board where they log each day’s work, and then at the end of the day, they put that via a form into an Airtable database;
Today’s date I did X-process which took Y amount of time and made XYZ items.
Today’s date I did X-process which took Z amount of time and made XYZ items.

But the issue with this approach is it takes forever to log all the items made as all line items have to be logged seperately as there is no way of creating multiple line items in one go. So I’m hoping I can do this a little more elegant and quicker with Glide.

Odd, I just tried and it works fine for me.

Anyway, I just published the source App and made it copyable. Try the following:

Again, if there is anything there that requires some explanation, just let me know.

1 Like

Works… I’ll have a play around and let you know… thanks a million times again

Little bit of topic, but how do you make these overarching row groupings?
Screenshot 2022-10-03 at 13.52.17

1 Like

This is an absolute beautiful tutorial - I’ve learned alot by following it - thank you so much for taking you time to do this :pray:

As I’ve been working on my own app I got a few questions which my brain can’t figure out.

  1. Why do you use a ‘Single value’ and not a relationship column to connect the ‘Tasks’ and ‘Task Helper’. I guess there will always just be one record in this tab?

  2. What will happen if two users logs at the same time? will this work? Task Helper has some user specific columns, which I guess will take care of some of the possible issues my brain have dreamt up, but what about the Validation check boxes will they also work seperately for each user?

1 Like

Either would work, but a relation would require at least one more column. So Single Value->Whole Row is a nice option here.

Yes, it will all work perfectly fine. When computed columns reference User Specific Columns, they also work as if they are user specific.

Great thank you for explaining. All makes sense now :pray:

1 Like