A common way to do this is to drop an invisible box over the tab control and have that box run a script that checks Privileges and steers to the object, or to somewhere else if permission is not appropriate.
Another way is to allow people to go to that tab, but to restrict access field by field (note that this method is a bit more complex that "View Only in all tables".
First off, thanks for your comment on sorting, I've got that figured out now (numbers vs. text, didn't think of that!) though I'm finding the restricting fields a little more challenging.
Okay, I think I've got this but I'm not sure: I create a custom privilege set for the staff group whose view of selected fields I want to limit. In the Edit Privilege Set box, I got to Records>Custom Record Privileges>[select underlying table]>fields>limited> and select the fields one-by-one for no-access. Is that correct?
Question for Ninja.....does 'invisible box" idea work if the fields in that panel are in the tab order? (just wondering)
Great question...and the answer is "No/Yes"...if the fields are still in the tab order, hitting the tab key can take you to that place you aren't supposed to be. The button would still work, but it would not prohibit the user from tabbing to the field.
The "invisble box" is a great convenience to avoid going to a place where the fields frustratingly say <no access>, but it does not replace the benefit of actually limiting access through accounts&Privileges. As a rule, accounts and privileges should be managed within the FMP accounts area. Every other trick outside of this should be seen as convenience.
As a rule, users will try to go everywhere you want them to stay away from ;) such is life.
In FileMaker 11 and older, the OnOBjectModify script trigger can be set for a tab control. Then getLayoutObjectAttribute can be used within the script to identify which script was clicked and go to object can be used to return the focus to the original tab panel if the user is not permitted access to that tab.
In FIleMaker 12, there are new script triggers and get functions that make accomplish the same results, but in much simpler fashion.