Looking to figure out a way to hide certain options in a Single-Select Field for a form.
I run trainings throughout the globe and it’s all tracked via AirTable. The list of training dates is getting rather long, and I would like to shorten that list to available dates for users filling out the form.
The only way I can figure to do this is move any trainings older than 30 days to another tab, but that is rather cumbersome to have data points in two locations.
Any thoughts on how to best solve this problem?
To achieve this, you’ll want to first make your trainings dates a separate table, rather than an ever-growing single-select field. Create a table called “Training Dates”, or whatever your preference. Have a “Date” field as one of the fields in that table, as well as perhaps a description, and any other information fields you might want that help to describe or identify a Training Date. Depending on your setup, you may be able to copy-paste all of your existing training dates from the single-select field they live in now, into this new table. In the end, what you want is a new record (row) for each training date you create and want to allow people to sign up for.
The next step is to create a view in your new Training Dates table (views can be created in the view menu, top-left side of the table) that filters on the “Date” field to show only records "Where
is on or after >
one month ago". Name this view something that will make it clear that these are only dates that are a month old or newer.
Now the key step – in your registration base (the one with the form in it for your clients to sign up for dates), we need to replace the “Single-select” field you were using for dates with a “Link to Another Record” field. This field will link to your “Training Dates” table, it will allow only one linked record (“Allow linking to multiple records” is disabled) so that one registration belongs to one Training Date, and it will “Limit record selection to a view” >> choose your view that is filtering to show only Training Dates that are a month old or newer.
Now, whenever users go to select a training date from that field in your form, they will never see training dates that are more than a month old.
You can use this same technique to do other things too… such as limiting registrations for a particular date to a cap. You’d create a number field in your Training Dates table that allows you to define a cap for registrants – let’s say it’s 10. Then, you’d create a “Count” field that counts the number of linked registrations. Adjust your filter to ALSO filter on "
Cap". Now registrants will only see options where the date is no more than a month old, AND the cap has not been reached.
Hope that helps!