There are a number of "tricks" but layout objects/fields dont have visible/invisible settings that can be applied based on some criteria.
However some conditional formatting calculations can mimic this effect. Im sure one of the more "graphical" experts will be along with some tutorials. :)
The alternatives can be pretty messy also.
Conditional formats can hide the label text. You can set the text color to match the layout background or set the font size to 500 pts.
The same can be done with fields, but they are still accessible if the user clicks/tabs into them even though they don't appear in the DB. There are several visibility tricks you can experiment with to see if they work for you: (It talks about hiding buttons, but fields can be hidden in the same manner.)
You could set OnObjectEnter script triggers to check a security setting and then go to field next to avoid entry into fields that you want to remain hidden.
I use a similar scheme to produce audit records for any field changes but it could be adapted to prevent edit in the field
I honestly can't make any sense of the 3 suggestions in that link Phil but it's been a long week so I'll take another look at it tomorrow.
aammondd, would the OnObjectEnter script trigger be set on the field itself or the layout?
on the field
if it appears on multiple layouts you need to set it on each one since its layout specific
In total, there are 15 fields I need to hide which are in 3 separate tables.
1) One of the tables can have all its records set to 'No view' under custom privileges. When I log in as a standard user, the fields are completely blank but the label and the field itself remain.
2) The other two tables contain mixed data (standard users need to view some but not all data). I could split the table up and put the sensitive data in a new table and do the same as above. A workable solution but a fair bit of work involved and it still leaves the label and field on view.
3) Another option I've noticed is to restrict view access to sensitive data on a 'Custom Field Privileges' basis. This is the easiest method to maintain but the label remains and the field contains <No Access> instead of being blank as above.
So, going back to 'Conditional Formatting' - would it be possible to change the colour of the font (label and field) plus the field background itself to the same colour as the background if the field = <No Access>
I've been experimenting with number 3) above and have set up the following:
I created a Global field in a new Table that has the following calculated field "Get(AccountName)"
Then, on my layout I set conditional formatting NewTable::account_name_global = "user"
The label font, field font and field background are set to white so everything disappears except for the field 'shadow'
This seems to work fine when I'm logged in as brian.curran but not if I log in as user. I'm guessing that it might be something to do with the way the global field is set up, any suggestions?