Update Records with a Form, ZERO code way, with just Baserow

I’ve come to Baserow after realizing that using Airtable to organize a minimal amount of data in our all-volunteer nonprofit would end up costing us hundreds of dollars a month. (Wait, what? A separate monthly fee just to give someone the ability to update a field on an interface?!)

Baserow is absolutely amazing, and I’m loving learning to use it, but I’m also getting frustrated pretty frequently. I don’t code. I can write a couple HTML tags if absolutely necessary, but with all other languages, I copy-paste from git hub like a pro - that is the extent of my skill level!

The lines of code required to get Tooljet connected up and running with my databases? Beyond me. Setting up a self-hosted instance of n8n so that I can follow the official tutorial on updating records with a form? Nope.

But I figured out a workaround! It might work for a few others too. Here’s the key. Do you need the ability to change existing information in your database, or do you need the ability to add new information to a specific record in your database? For us, it was the latter.

Our org processes member applications. The new member inputs their info into an application form, then a volunteer looks at the info, selects “yes/no” on several fields to determine whether they are eligible for membership, then chooses a status for the application - “Accepted”, “Review” and/or a few others.

I have been playing with it for days, and I finally figured out how to set it up - with just Baserow plus Wordpress to display the forms and views.

How to set this up in Baserow:

1: Create your database.

2: Create your first table. Create all the fields that you need for the first round of data input - for us, every field that needs to go on the seller member application. Your primary field in this table should be information that can be used to quickly choose the correct application from a list. For us, “Business Name”.

3: Create a form view inside your first table for the initial application.

4: Create your second table. “Status” is your primary field - a Single Select field containing every status that can be held by an application. For your second field, choose “Link to Table” and let it create the automatic field at the first table. Then, create the fields you need for the new information that needs to be added to the application.

5: Create a form view inside your second table for the application update. Add the “Link to form” field to the form - and change the name to match the primary field for your first table (for us, “Business Name”). This field will be used to link the new information to the correct row in the database.

3: Go back to your first table, find the “Link to Table” field that was automatically created, and change it’s name to “Status”.

4: Finally, add as many “Lookup” fields as you need to add the new information from when the second form is submitted.

At this point, there’s a functioning system for adding updates, but the volunteer still needs to see the information that was submitted in the initial step. For this, you create a series of gallery views of your original table, filtered by “Status”.

5: Create a gallery view of your first table where “Status” is empty. This will be the records that have been submitted, but not looked at yet. We named ours “New Applications”.

You’ll need more gallery views for other steps, but this really depends on the exact system you need. What we did was probably very specific to us! For us, applications are either accepted, or our volunteers send emails asking for more information. So we needed a third table to record when an email was sent, and a whole bunch of gallery views for different stages of the application process.

The main thing to think about if adding extra tables, is make sure that the primary field in your new table is your #1 priority to include as data on the original application record. The primary field’s data is what you will see in the field that’s created automatically when you create the “Link to Table” field in your new table.

Then finally, we put those gallery and form views into iframes inside of wordpress columns (with the gallery’s iframe right next to the iframe containing the form to update to the next step) in a password protected page! I use a plugin (Kadence blocks) that lets me create tabbed views, so I put everything in a tabbed view arranged by the status of the application.

I read somewhere that Baserow is eventually creating something akin to Airtable’s interface designer and I will probably design something completely new when that happens, but this works perfectly for us for now!

Holy crap I kinda wrote a full-length blog post instead of a quick tip, lol. I do that. >.<

2 Likes

Quite a lot of energy for such need :thinking:.

I wonder if since the need of updating existait g rows looks quite strong, it could be an idea of feature for Baserow.

In my case, I used the modal view of a line and changed only the fields I wanted. It however requires an account to modify it.

What do you mean by “modal view of a line”? I think that might be some feature I haven’t found yet!

When you go on the grid view of a database, you have an icon for each allowing yourself to display it in fullscreen :
Screenshot 2023-03-18 00:03:23

When you click on it, you have what I call a modal view of the line, quite similar to a form one, with comments pane.

Ooooooooh I understand now, thank you for the explanation! Doing it that way (for us) would require having to explain how databases work to a bunch of people who only have limited spreadsheet-experience, which would take too long! But I never did put two and two together that that’s what that little icon did, and that will be much easier to use if I ever need to update a record myself in the backend, so I appreciate it, lol!

1 Like

Hello @IndieSellersGuild, thanks for your kind words about Baserow, and for sharing the workaround you come up with. That’s a very popular request — to update records with a form — and I am pretty sure that we’ll have folks in the community who will be interested in using your approach.

And millions of thanks for describing everything in detail and making all the steps super clear for other users to follow :clap:

@dynnammo thanks for your input! Thanks to you we now have 2 different ways describing how to approach the update of existing rows for the future readers of this thread :grin:

1 Like