Storing Database "State"
My database is hosted with Filemaker Pro 11 client on a small local network with 8 regular users.
The databse stores details on around 500 members of a martial arts club and what classes they attend. Each year around 120 kids from our kids classes need moving up to the class above. This is a tricky process and invloves looking at current numbers and what spaces they can move into etc. etc. but I have sorted that interface out and it works beautifully.
My problem is that the process only happens once a year for about 4 weeks. When it's not currently happening I want the database to take you to a set-up screen when you click on "Moving Up" that explains that it is not currently running and that you need to set it up. When it is running I want it to take you straight to the interface for moving people between classes setting their new class to move in to as well as warning you if you manually move people in and out of classes when they are part of the process.
As there are multiple users I need to store whether the process is currently running so these things can happen and it needs to be accurate otherwise mass confusion could be caused with so many people switching classes. It needs to remember this "state" when the database is re-opened when staff come into work but also updated as the process is finished so staff don't need to re-open the database for it to take effect.
I was using a global variable for this at first but then soon realised that global variables are indivual to each user and therefore useless. I have now created a table with the sole purpose of storing this yes or no state and test it by using a script to
1. Go to the table
2. Show all records
3. Go to the first record
4. Read the field that stores the state.
I don't allow users to see the tool bar and have used custom menus to remove the ability to add/delete records so they shouldn't be able to add any records and mess up this process but I still use steps 2 and 3 to be extra sure. The real pain is that these steps need to occur everytime I want to test the state of the database which is proving to be quite a few places!
Is this a ridiculous solution to an easy problem or is this the best I'm going to get. I came up with this myself as I can't find anyone else doing the same thing but I feel I might have created a monster just waiting to screw me over.
If anyone has come across this need before and has any help/advice it would be greatly appreciated.
Thanks in advance,