6 Replies Latest reply on Sep 30, 2011 7:38 AM by Jorman

    Reservation and Scheduling



      Reservation and Scheduling




      I am new to Filemaker as of June and it has been a crazy journey. I still trying to learn some of the basics while being asked to perform magic. Thus far I have found creative solutions for most things, but I am finally stumped to the point of asking the question to those that have the knowledge. Thank you ahead of time!

      I am currently working on creating a system that will track auditions for a school theatre program. They have specific times during the day that auditions are to be scheduled each day they are holding auditions. I am curious if there is a way for the user to select the day via the drop down calendar function and then have a value list drop down with the available times in the next field. Each day/time combination needs to be unique. Is there a way to remove the already scheduled times within the chosen day to be removed from the Value list?

      Once again thank you for any help!


        • 1. Re: Reservation and Scheduling

          This is called a "conditional value list" If you set up the correct table where each record is an available rehearsal time period for a specific date, then such a value list will be possible to set up.

          Here's some basic info on conditional value lists to get you started. Feel free to post back with questions if you still aren't sure how to set this up.

          Forum Tutorial: Custom Value List?

          Knowledgebase article: http://help.filemaker.com/app/answers/detail/a_id/5833/kw/conditional%20value%20list

          Demo File: http://www.4shared.com/file/f8NsU2DJ/ConditionalValueListDemo.html

          • 2. Re: Reservation and Scheduling

            Thank you for your quick response Phil!

            For clarification of the set up, I am going to need to solidify dates in a table instead of being able to let the user pick any date. Is this what I am understanding? And thank you for the demo file, that helps alot.


            • 3. Re: Reservation and Scheduling

              Conditional value lists take their data from a table and a relationship is used to control what values are listed in the value list.

              Thus you'd set up a table of your rehearsal times that might look something like this:

              9/29/11    8 - 9 am
              9/29/11    9 - 10 am
              9/30/11    8 - 9 am
              9/30/11    11- 12pm

              Using the conditional value list, selecting 9/29/11 produces a list of just the first two rehearsal times. Selecting a date of 9/30/11 produces a list of the last two rehearsal times.

              • 4. Re: Reservation and Scheduling

                That makes perfect sense. Thank you for the clarification.

                I hope you will allow me to ask one further question of you. If only one person can be assigned to each time, once that time has been chosen, is there a way to remove it from the Value list so that it is no longer seen for future records? In order to avoid double booking a time.

                • 5. Re: Reservation and Scheduling

                  I was expecting that one. It's a natural extension of the basic concept here. It's called a "dwindling value list" as the items previously selected get automatically omitted from the list so the list of available values dwindle as more and more are selected.

                  There are two basic ways to get a value list to "dwindle". A triggered script can set a value in the table of values that then causes that record to be filtered out of the list. The other option builds a list of selected values on the other side of the relationship and a not equals operator uses that list to filter them out.

                  The first option is easier to explain, but takes more effort to maintain the list when you change a value selection--taking one value off the list and putting another back into it. The second option updates to add/remove available values automatically if you can set it up with a unstored calculation--which isn't always possible to do.

                  Here's the basic idea:

                  If you have this relationship:

                  People::RehearsalDate = SessionsByDate::RehearsalDate

                  Change it to:

                  People::Rehearsaldate = SessionsByDate::ReHersaldate AND
                  People::constOne ≠ SessionsByDate::Selected

                  constOne is a calculation field that always returns the value 1. Selected is a number Field. An OnobjectModify (pop up menu) or OnObjectSave (Drop down list) trigger can then run this script to mark a date record as "selected":

                  set field [RehearsalDates::Selected ; 1 ]

                  This uses a different relationship, such as:

                  People::RehearsalID = RehearsalDates::RehearsalID

                  so that you have a link to one specific record here.

                  The catch here is that after first selecting one rehearsal date and then changing it to a different selection, the first selection is not automatically returned to the list. That would take additional scripting to handle.

                  • 6. Re: Reservation and Scheduling

                    Thanks again Phil!