Workflow to update columns not working

Good day to you all.

The booking form for trips has only a few choices that the parents select to book their kids on the bus: their name or names, and the direction (home/school) with an option each for laundry if they are not on the bus themselves. It is a Form Container writing to Trips table. There are two more Name columns, for each direction (NameH and NameS), which may be modified as described below. The relevant column is used in the schedules/bus lists for that trip, not the original Name column.

Now to complete the actual entry I need additional data like where to pick up, at what time, in what sequence, where to drop off etc. Al this info is available in the Trips table in relation/lookup/calculated columns. But the drivers often need to change that if conditions change, like schools closing earlier. I also need to change the name for that trip to “Name’s laundry” if the Laundry option is selected, or “Name +1” if they take a friend with them. Therefore each of these columns have a corresponding text/number column.

To do this I use an After Submit action that triggers a workflow with 1 parameter, the current RowID. The loop is filtered on the Trigger RowID. The workflow consists of sequential steps, starting with the Home trip (If Home selection is not empty) and writing all the calculated etc. values to their corresponding columns. Then follows an If for laundry and an If for friends, updating the NameH column (they are mutually exclusive…)

After that follows the same process for the back to School trip. But it does not update the columns. I even tried splitting up the 2 processes and using a 3rd workflow to start each of them, but it seems I cannot start 2 workflows writing to the same table.

Here is part of the booking form. If the Additional switch is off, the last 2 fields do not show. I added 1 friend on the bus to school (only laundry going home) and a different bus stop to be picked up at going back to school.

And part of the workflow

Thanks for all the help so far. I am still losing the data on the parents/children helper table if I add an email address to an existing user and then select that user from the Viewing As dropdown, but I can live with that for now.

I think this was part of your problem the other day. You’re saying a user didn’t have an email previously, and then you try to add an email and they lose their user-specific data?

Wouldn’t it make sense if you change the trip info on the trip side and just do relation + lookup to retrieve info from the Trips table.

Hi @ThinhDinh.

Yes, whether I load their actual email or a fictitious one, If I then want to View As them I lose all the data in the table that connects them to their kids (ParentChild table). It does not happen later on. I have that data saved to a spreadsheet so I just copy it back from there. When all the users have email addresses it should stop happening. So not a crisis, just a nuisance but strange all the same.

For the “normal” data, i.e. pickup and drop-off times and places I do have relations and lookups in the Trips table. (Remember that the user normally “enters” (selects) only 3 fields: child’s name, whether on bus going home or laundry only, and same for back to school.) It was unnecessary to write extra data needed for the schedule in a manual flow, so I have in the meantime gone back to a previous app interaction workflow (PostBooking) that writes all the default data to the text/number columns. Meaning the normal pick-up place and time etc.in relation columns etc. in the Trips table,which can be changed afterwards. I should explain here that these columns are used simply to provide default values for the trip schedules, which must contain times and places. The “duplicate” text/number/time columns are simply there so that it can be changed for that trip, should the need arise.

This is what the grid for changing trip data looks like:

The driver can even combine routes (P or S) for either picking up (1st. col.) or dropping off (off the screen) by simply using the same code for both. The numbers are the pick-up sequence so if routes are combined, the sequence (and times) can be changed. It works well but I would dearly love to calculate the LAST pickup time (1:50 or 1:30 PM for the 2 routes) that I now enter manually. I need that as a starting point to calculate ETA at the drop-off. Just FYI … :wink:

I’m left with just 3 places not updated by the PostBooking flow, i.e. “name’s laundry” or “name +2” friends, and the closing time if not the normal time. For that I need an IF-ELSE. I previously used a very long (wide?) condition in that flow - if laundry home and laundry school then set col. values for name home and name school else if laundry home and not laundry school etc. etc. But I could not work that same sequence for friends also into that one allowed condition. So this is where I’m stuck: how to replace data in the table with the modified data. (Row 4 is Umer’s laundry that I changed manually.)

Kind regards.

User-specific data might have been lost when you disconnect the previous “fake email” state to a real email.

As you said, it should not happen with real data in. I’m not sure why don’t you just load the real emails in from the start?

There’s a lot of thing to digest here for me, so can you verify is it true that you want to change the name of the trip based on various conditions that can happen at the same time?

Say is there a case where it can be “Name+2 and laundry”?

Do you really need to change the name, or storing the info that yes, this trip needs laundry, and the kid will bring 2 friends in other columns be enough?

Hi.

The current users and their children are legacy data from my Android app. All their info is in their records. I did not need their email addresses in that app, it did no validation. Only now. So I’m stuck with doing it this way :frowning: .

No, it’s either they themselves + friends on the bus, or laundry.

The laundry situation arose years ago. A good many kids participate in sports and stay in on Fridays, play a match on Saturday and then go home with their parents. On the bus Sunday but not Friday. So the parents asked if we could pick up their laundry Friday so that there is more time for it to get dry. Most live 150-200 km from school, will arrive back late on Saturday.

I cannot think of a situation where a child will send his friends to his home if he himself is not on the bus, therefore the choices during booking is either/or.

Again, this is my experience during the past years. The driver needs accurate information so that nothing gets forgotten. In the beginning I only used a single name column, but very soon found that a child can send laundry home on Friday and then is on bus himself on Sunday, or friends go with him on the bus home but are not on the bus back to school. I then used an additional column for friends or laundry but that is wasted screen space. So I started putting it in as part of the name. Easier for the drivers too.

I’ll just live with it for now. It’s OK if I do not view as that user.

And while I was typing here, I checked something in the app (made a relation column “Match multiple”) and the screen went totally blank. Had to close the window and reload the app. It said app is open in another window but that must be because it was forcibly shut down. It has happened a few times before, always when I change something in a table. Strange but not critical.

I still have many challenges ahead; this is a steep learning curve and I need some fancy tricks to accomplish what I want. Counting how many is on the bus, preventing duplicate entries are the next two. I’m trying it out first; my challenge is the unique field setup but I’m slowly getting there. I downloaded a template for preventing duplicate entries yesterday - it will just be modified to include the trip date.

Thanks again for the feedback.

Update:

I think the problem with Glide going blank is network-related. Had issues with internet connection the whole day.

I have succeeded in counting the kids on the bus :waving_hand: .

Regarding the name, I would just do it like this:

  • Have two if-then-else columns. If a request for laundry exist, then return something like “With Laundry”. If they bring friends, add something like “X friends”.
  • Add a Make Array column. Make an array with the original name, and the two if-then-else columns above.
  • Then use a joined list column on top of the array, separate them by a character like a comma or a plus so it would end up like “Original Name + With Laundry + 2 friends”.

Thank you, that sounds like a winner. I have been without internet for 3 days, only got fixed late today so I’m a bit behind on everything. Will look at it over the weekend

1 Like