How to Create A Sub - Form

  • 1
  • 2
  • Question
  • Updated 6 months ago
  • Answered
My app is a project management tool for building Custom Homes.  There are hundreds/thousands of design details that go into building homes and I need a way to track the design selections against an active project.  Several of the design selections could be: Paint color, Kitchen Cabinet Style, Kitchen countertop style, Flooring type, etc.

Is there a way to create an additional form within my Projects Table where I can fill out these details?  Adding them to the main project form page would make it extremely cluttered, and also, these selections usually come AFTER a project is created.  

In addition, I would eventually like to push these selections to an exact form to be sent to our field supervisor.

Thanks ahead of time for your suggestions.

Josh
Photo of Josh Collins

Josh Collins

  • 392 Points 250 badge 2x thumb

Posted 2 years ago

  • 1
  • 2
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 52,928 Points 50k badge 2x thumb
My main suggestion is to have child tables for the different types of selections.  For example have a child table of flooring.  Then each room would have a record and it would have a form suitable to flooring.

Then another table for Paint choices.

I also suggest that you have a table of rooms so that these child tables can also be children of the rooms, so that on the rooms record, you would be able to see all the child Tables for the same elements such as flooring and paint.
Photo of Josh Collins

Josh Collins

  • 392 Points 250 badge 2x thumb
Thank you for your response!

My concern would be that the size of the app would get HUGE and therefore run slowly.  We have about 75 categories that would need to turn into tables.

I don't mind having our designer manually fill in selections since they are different on every home.
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 52,928 Points 50k badge 2x thumb
You can have multiple forms but then you will need to have buttons and you do not want to have 75 forms!!

The Quick Base Road map calls for tabled forms in the fall, like November.  So your single long form will able to be natively split into sections.

There is an easy way to make jump buttons to put at the top of the form  to allow the user to jump down to an area on the form.

To do that you make a button at the top of the form like this as a formula text field with HTML enabled checked.

"javascript:void(window.location.href='#DealerClaim');"


Then near where you want to jump to with this formula also as a formula text field with html enabled

"<a name=DealerClaim></a>" 

Lastly, I do have another more elegant solution which I can demo if you contact me via the information in my profile at QuickBaseCoach.com
Photo of Mike Fitzpatrick

Mike Fitzpatrick

  • 60 Points
are tabbed forms available now? new user but need some kind of nested,subform functionality thanks!
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 52,928 Points 50k badge 2x thumb
Yes,
There is a form element now called Tab.  They look better if they are coloured.

https://community.quickbase.com/quickbase/topics/color-tips-for-tabs-and-url-formula-buttons
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 27,884 Points 20k badge 2x thumb

You might consider (1) using form rules to hide/show sections on an individual form and (2) create secondary forms to collect various related fields. Certain types of applications like insurance forms, loan forms etc can have an unending list of fields to collect as they ask everything under the sun. While the normal suggestion is to create child tables as Mark suggests this could get complicated in cases (like yours) where there are a lot of fields to collect.

Another suggestion is rather than create a child table for each of your 75 categories, you might be able to create fewer child tables if you abstracted the child tables to model a "feature list", "amenities list",  "upgrades", or "pick list" rather than very specific child tables such as kitchen, bathroom, garage etc.

More than likely you will have to use a combination of (1) multiple sections, (2) multiple forms and (3) multiple child tables to get to a sweet spot balancing convince of data entry / navigation and performance.

(Edited)
Photo of Josh Collins

Josh Collins

  • 392 Points 250 badge 2x thumb
Thanks for your comments Danimal.  Could you elaborate on creating secondary forms?  That sounds like what I am trying to accomplish.

Thanks!
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 52,928 Points 50k badge 2x thumb
Josh,

You can create alternate forms and you can easily make a URL formula button to switch between forms.  But I would caution against this as it becomes awkward when you are viewing and edit the form to control which form to use.  You users will get frustrated when editing that they are always on the wrong form when using the native EDIT button.

But if you do want to have alternate forms, you can make a URL formula button like this to switch forms.

to view:
URLRoot() & "db/" & dbid() & "?a=dr&rid=" & [Record ID#]


to edit
URLRoot() & "db/" & dbid() & "?a=er&rid=" & [Record ID#]
Photo of Michael Barrow

Michael Barrow

  • 2,206 Points 2k badge 2x thumb
Also, be careful of the arbitrary limit of 20 dynamic form rules. If you use one rule for each section, tied to a boolean formula to determine whether or not to show that section, you'll only be able to have 20 sections. I have this problem in my app.
Photo of Gaurav Sharma

Gaurav Sharma

  • 5,758 Points 5k badge 2x thumb
Hi Michael,

FYI... I found one thing if you use related fields instead of using the proxy fields you can avoid these limitations or Maybe if you are already aware from this

Thanks,
Gaurav.