Thank you for your post.
Here are a couple of ideas that may help.
Create a script that finds all records and omit all "inactive" status clients. You can then call this script from the Scripts menu. In addition, pull down the File menu and select "File Options..." One of the selections for when opening the file is to execute a script. Select this find script. Then, whenever you open the file, only the active records will be present until you execute another Find.
Another option is to create an Archive database file. You can then import the inactive records into this separate file, and then remove them from the current file. If you want to see "inactive" clients, you select this other file.
If you need clarification for any of the above steps, please let me know.
TSGal is perfectly correct (or course!), but I find it's almost like admitting defeat to have an archive: Filemaker can store, tag, filter, sort, and calculate on so many records, so fast, so consistently, that almost every time I've felt inclined towards an 'Archive Table' solution Filemaker has come up with the goods and let me keep all my records in one table and not have to swop to another table (though when it's been necessary, it's been a pretty convenient answer).
But just as an alternative to the siren-call of the Archive Table, what about if I can assume that people move out or pass on relatively infrequently, and if they do it's the job of an 'Administrator-type' person to log that. If that can be assumed, then why do you not create a User called 'ArchiveUser' (or something) which is the account you log in under whenever you want to see, or make, someone 'Archived'.
All you have to do then is set the access privileges of all other users (including your own 'normal daily log-in') to only see those records where 'ActiveYesNo = Yes'. From memory, earlier FM versions would have handled that rather inelegantly by showing lots of <Access Denied> in every field in every record that you were banned from seeing, but FM9 handles it perfectly, by making the unviewable records apparently 'vanish' for that user.
It's just another take on the 'Archive...' principle, and reduces scripting and room for import/export errors and the record existing in both files, or neither... (And you don't have to do maintenance on the structure of an additional table.)
So TSgal, using the Scripting method as soon as I do another Find the whole db is going to be visible again, right? I guess archiving may be the only way to go. Thanks for your input.
That is correct. Any "find" will look at every record in the database file.
The option presented by "Sorbsbuster" is another way of doing this (Thank you!). This requires a lot more set up time, and it asks users to enter a password when they open the file. This limits the other users to never see the non-active records, so that is something else to consider.
You can also attach a password requirement to your sorting script, using the custom dialogue script function, and its input fields.
Several good suggestions so far. Another idea:- Make a row of several buttons along the top of the layout with a script for each so that all the needed selections can be got by a single click. For example, in a membership database: Active member, Former member, Contact who might become a member, Friend of active member, Paid up member, In-arrears member, etc. If there is a limited number of selections you will need, you can make each one quickly accessible from a row of small buttons; and the file opening script can choose the most commonly used one.
Thanks for all the great suggestions!
GraemeC, if I used your suggested technique, a "Show All" input would again bring the inactive records into view, right?
Yes, a Show All button would be a good idea - I should have included it in my list!
I usually make the script for each selection also sort the selected records in the way that users will want. For example, Show All should probably show the records sorted by name, but a Members In Arrears button should probably sort the selected records in decreasing order of amount that the members are in arrears so that the member needing the most urgent follow up is at the top of the list.
But if you have just Current members and All members, the situation and the scripting is dead simple.