Is there a way to specify this in a calculation under privilege Records, custom record privileges and apply it to specific tables?
You could set up custom menus that have this item disabled or removed. Then use an OnLayoutEnter script to install this custom menu when the accountPrivilegeSetName identifies a user where you want to disallow this option.
Then use an OnLayoutEnter script to install this custom menu when the accountPrivilegeSetName identifies a user where you want to disallow this option.
I've only wet my toes in custom menus and could never get one to appear. OnLayoutEnter script may be the step I overlooked. Thanks.
There are two ways to install a custom menu set on a given layout:
In layout setup, there's a control for selecting the desired custom menu. This then becomes the default custom menu unless it is modified either by script step or via a temporary change from the Filemaker Advanced Tools menu.
Then you can use the Install Menu set script step. This option allows you to specify different menu sets for different users. Note that all of the above is specific to a given layout, you have to use one method or the other to install a custom menu set on any layout where you want it used.
Delete All applies to any FOUND SET.
You could disable deletion in the Privilege Set and then create a script to delete records and give it full access which I believe overrides the privilege set. The danger is that it might give a hacker with Advance the chance to cause a problem.
The script could check for the count of records and decide whether or not to allow this.
Found Set > 100 No
Found Set = total records in table No
I install the custom menu on file open if "signed in as" has certain criteria, but I find that it subsequently reverts back to the regular menu when going to a different layout even though the signed in as has not changed. Is there a way to override this or must I have the custom menu install in every layout on open?
In the Layout setup you can define the default menu set that will be applied.
Custom menu sets are specific to a layout. Installing it on one layout does not install it on others.
Each layout can have a custom menu assigned to it. This means that every privilege set opening that layout would have that custom menu in use.
There is a function to assign a custom menu to a script and you could use an if:
If privilege set (or other quality) is A
assign custom menu 1
else if = b
assign custom menu 2
Create a script named Install Menus and add that to its steps.
Then call that script from every other script:
Perform Script Install Menus
This will attach your custom menus to everything and avoid having to use the layout setup.
Using this idea your Install Menu set can become quite flexible and even show one menu on Friday, a different one on Monday.
If Employee A is in the office, they fan see one menu set and if they are in Starbucks, another menu set.
Years ago I gave up on Menus and began doing the hard work: thinking. I set with users and asked them what they needed and created buttons for them to do their work on the layout where they would need the button.This took more effort than creating a menu bar.
My thinking is that Menus aren't secure since every item on the menu is available to anyone sitting at the computer. But what the heck, many solutions aren't that secure since they allow a user to log in simultaneously from multiple computers within and without the company building.
Retrieving data ...