How do I create a custom form?

Sure.
Look here:
https://demo-for-custom-form-87rt.glide.page

‫בתאריך יום ב׳, 1 באפר׳ 2024 ב-4:41 מאת ‪22 DG via Glide Community‬‏ <‪notifications@glideapps.discoursemail.com‬‏>:‬

Oh I was wondering to understand how to accomplish the avoid duplicate…by the way, I tried your app, added Banana to Fruit category and it added so there was a duplicate banana row…

Exactly which App did you try?
My original concept App doesn’t have any categories.

Did you use the Plus (Add) button at the top of the screen with a native form that doesn’t provide duplicate validation, or did you use the button at the bottom of the screen, which is the custom form that would have the duplicate validation?

@Darren_Murphy sorry for this! I was replying to @Pnina_Barth but I failed to make it clear, her app was the one that had duplicates.

Regarding yours it’s amazing, I still got a lot to grasp and comprehend that’s why I asked if you did a video on it on how you built it to understand the steps you made.

But maybe with enough time I’ll understand how you pull it out and apply it on my app. The main difference between my app and yours is that my ADD ITEM screen, the user selects from a ITEMS DROPDOWN the item he wants to add to an aircraft. So it should be easier because the names are already in…

I saw on your app the REMOVE ELEMENT column that I didn’t know existed and made 3 columns: ITEMS ON AIRCRAFT, ALL ITEMS, REMAINING ITEMS… so basically REMAINING ITEMS are ALL ITEMS minus the ITEMOS ON AIRCRAFT and that gives me a list of items the user is able to add and that way I should solve the duplicate issue.

The thing is that the REMOVE ELEMENT column is not suitable for a CHOICE in front end… I tried to QUERY and LOOKUP that column but it isn’t able to that either so I was stuck, I don’t know how to use that info that would solve my problem entirely

thanks @Jeff_Hager I missed that button…now it makes sense

@Pnina_Barth do you have this app available to copy so I can see how you pull it of?

1 Like

The link is: https://demo-for-custom-form-87rt.glide.page

I also got into trouble with custom forms, but in the end I managed to write myself exact instructions on how to do them. I hope it will help…:

How to Create a Custom form?

  1. When you are using the built-in Add button of Glide, the information is written to the table just after you press the submit button. So, if you want to prevent duplicate rows while the user is typing, you should use custom form.
  2. You have a table (“Items table”), containing a row called “Item”. Your application contains a list of the items, and you want to let the user add an item.
  3. Add a template column to the Items table, called “A column”. All the rows of this column will contain just the letter A.
  4. Create a new table (“Working table”), containing a user-specific row called “New Item”. Add one row to this table, so it won’t be empty.
  5. Add a column to the Working table, called “A column”. All the rows of this column will contain just the letter A (like the A column in the Items table).
  6. Add a relation column to the Working table, called “Relation”, relate to items where the value in A column matches the value in “Items table > A column”, and mark “Match multiple”. While all the cells in these two columns are equal, this column will contain a relation to all the rows in the Items table.
  7. Add a lookup column to the Working table, called “Items list”, referring to “Relation column > Items”. This column will contain all the Items.
  8. Add a “If-Then-Else” column, called “Duplicate Item”, to the Working table, containing: “If Items list contains New Item, Then TRUE, Else FALSE”. This cell indicated if the New Item is a duplicate item.
  9. Add the to app an “Add” button. The action of this button is “Show new screen for Working Table”.
  10. In the new screen that is linked to the Add button, add a “New Item” field.
  11. Add a submit button, with a new action that contains 3 actions: (1) Add the New Item field to the Items Table; (2) Clear the data in the present row in the Working Table; (3) Navigate back to the main screen.
  12. You can use the visibility options of this submit button, with the “Duplicate Item” column, to hide this button when the New Item is a duplicate item. You can also add a warning message that will be seen just if the item is a duplicate item.

‫בתאריך יום ב׳, 1 באפר׳ 2024 ב-21:05 מאת ‪22 DG via Glide Community‬‏ <‪notifications@glideapps.discoursemail.com‬‏>:‬

2 Likes

@Pnina_Barth You should be able to skip steps 3, 5, and 6 in your instructions. A lookup column can refer directly to an entire table, and since your relation is basically returning the entire table, you shouldn’t need the template columns or relations. Otherwise, good instructions.

wow @Pnina_Barth thanks a lot for this, really, i read it and sounds perfect, i will try it out tonight after work

thanks @Jeff_Hager for the comment too, I’ll try without those steps and see if I can make it

I’ll post the result tonight, hope it works!

1 Like

NICE ! I did as you told and works perfectly… but this is simpler than what I am trying to do, I tried to think if it could be of use but I still can’t wrap my head around.

My structure is the following:

  • ITEMS LIST (all items)
  • AIRCRAFTS (all possible aircrafts where I will be adding items to control inventory)
  • INVENTORY (items from the ITEMS LIST table associated to aircrafts from AIRCRAFTS table with extra columns such as quantity, stock, etc.)

So, on the app I navigate to AIRCRAFTS, once inside an aircraft I can see the items added to that aircraft and ADD NEW… when ADD NEW I go to a new screen where I have a CHOICE dropdown that brings all the ITEMS from the ITEMS LIST table, and also some text entry such as quantity, stock, etc… and when you click ADD it will add that row to INVENTORY TABLE

So what I am struggiling is to either that the CHOICE dropdown already brings ALL ITMES minus the items already in that aircraft, or to go ahead and try to add it and validate it with an action that checks if that item is already in that aircraft and display an error screen.

I know it should be simple enough but I can’t seem to pull it off LOL

UPDATE:

I manage to add a column ACTIVE AIRCRAFT and in there I manually pasted an ID from one of my Aircrafts

Once I did that I could do a relation between the Aircraft and the Inventory so I managed to have the ACTIVE ITEMS list… then I did as your instructions with the IF - ELSE and managed to have a TRUE or FALSE based on the choice selection of the item

Works perfect ! but I can’t manage to add dynamically to the table the ACTIVE AIRCRAFT ID

If I could pass that ID to the WORKING TABLE when browsing an Aircraft, then I would have achieved it !

Any ideas on how to do something like this? I tried ACTION CUSTOM but it brought stuff from the AIRCRAFTS table not from the WORKING

I am very very closeeee

I don’t know how many items you have.
I guess that if there are a lot of items, then a custom form will be easier, but if there are just a few items, you can use a dropdown menu.
Hope I understood you correctly…

‫בתאריך יום ה׳, 4 באפר׳ 2024 ב-3:19 מאת ‪22 DG via Glide Community‬‏ <‪notifications@glideapps.discoursemail.com‬‏>:‬

like 1000 items on the master table, and each aircraft use about 800 of them, that’s why I can’t have the TEXT INPUT available because it is prone to mistakes, the CHOICE dropdown with the SEARCH on it is the best option to choose an item to add it to an aircraft

the complexity of my case is that I am not trying to add an item to the item list master but to the INVENTORY table where you associate it with the aircraft

Right now I managed to put another CHOICE dropdown so you have to select an aircraft to add the item to, this writes on the WORKING table the aircraft ID… next I have the items list that has your validation system in place (remember I grab the items list related to the previously selected aircraft)… there I can put the condition and show a PRODUCT EXISTS message… up to there everything’s cool

The thing I don’t know how to do is, how to write on the INVENTORY table if the product item is available to add… and also it would be nice to skip the SELECT AIRCRAFT and try to write that ID on another stage like when you select the aircraft on the homepage.

I am still wondering how to pull this out

https://surjet-inventory-9ly9.glide.page you can take a look for better understanding… you can click on any of those 3 aircrafts… then click on ADD ITEM TO AIRCRAFT and you’ll see the custom form I’m working on

Now select the GULFSTREAM GV from the Aircraft list, that aircraft only has 2 products so you can see how it works. If you select from the item list CHOPSTICK BENCHEZ (the first item) you can see it works consulting the working table… if you select another like COFFEE SPOON, the GO button appears

I’m stuck in that step… and you’ll see what I’m talking about trying to skip the SELECT AIRCRAFT dropdown too but I didn’t find a way to write in the working table the Aircraft I want to add the item to

Create a Single Value → Whole Row column in your aircraft table that points to your working table. Change the item click action on the Add button to a custom action that first sets the aircraft in the working table through the single value column. Then follow that with the action that opens the form. Every time you click the add button, it will automatically write the current aircraft to the working table.

2 Likes

sounds good! I don’t know if I understand correctly the steps, I’ll try it out thanks a lot!

1 Like

wow ! I made it… this is pretty cool

I am missing now how to add this item to INVENTORY TABLE? If I try to make an action for this, it only let me select AIRCRAFT actions because I am on AIRCRAFT flow…

I need to grab the data from the current custom form and post it into INVENTORY table and then I would have completed the circuit

is that possible?

I don’t want to press buttons in your app, so I’m not sure what the NEXT button is supposed to do…but ultimately if you are using an Add Row action, you can write to any table you want. You are not restricted to certain tables. When configuring the Add Row action, you should be able to pull any values from the parent row where that button is located (assuming the row in the working table), and pass it through to the inventory table.

1 Like

Yes I made it ! it’s workinggggggggg… I didn’t know I could open another screen referencing other table and pass the values to it

This is great! I’ll customize it from here… you can touch buttons no problem… I need to add a couple of TEXT screens to tell the users what’s going on

Very greatful with all your inputs from all people here, it’s amazing how much it can be done with tables

1 Like

@Jeff_Hager is there a way to CLEAN the WORKING TABLE once I added a product so when that screen opens again there’s no item pre-selected?

you can touch the app no problem https://surjet-inventory-9ly9.glide.page remember trying out on the GULFSTREAM GV which is the aircraft with only 2 products so it’s easier to see how it behaves