User acess read/write in 1 field only
I would like a user to have the capablilty to "read and write" in 1 field only in our database and for the rest of the fields/information have a "read only" status.
Is this possible?
At the layout level you can select these fields while in browse mode and use the Behavior section on the Data tab of the inspector to clear the "browse" mode option. This will prevent all users from entering these fields.
Actually, on a layout where you did this, no one could edit the other fields at any time and all users could edit that one field. From your last response, this is not what you want here.
Let's make sure we're on the same page:
If I have 3 fields, A, B and X, do you want fields A and B to be read only for every user? ("... the rest of the fields are read only") and Field X can be edited by only one user?
Or is it that other users can edit A, B and X but our "one user" can only edit X?
10 users/logins (1 administrator [full access read/write/etc..] 2 users [full access read/write/etc..] 7 users [read only])
3 fields A, B, and X ( currently 3 people have full read write access to those fields)
I want one of the 7 users to be the only one to have read and write access to field X, even the 3 users that have full read/write access can not alter this information. This 1 user, field X is the only field that they can write.....
You may find it easiest to create separate layouts that are duplicate, except for the field behavior options I suggested selecting earlier. A script that selects the layout can check the user's privilege set name or account name to determine which layout is permitted.
You can also set validation rules on each individual field that only permit changes to the field if the user has or does not have a specific privilege set name.
You'll find that you have get functions that will identify the account or privilege set name that you can use in either the script or the validation calculation.
What you are looking for is Field Level Access Privileges. Unfortunately, they don't exist...directly ;)
Assuming your record has a uniqueID (it should), create another table called "OnePerson" with an ID field and the field you are trying to protect. The Field might be "OnePerson::Protected". Now link this table to your main table via UniqueID. Make sure that new records can be created in the OnePerson table via the relationship.
On your layout based on your main table, put the OnePerson::Protected field on the layout.
Now control who has privileges to read and write to the "OnePerson" table...essentially you've created field level privilege by using table level privilege.
Note, though, that "FullAccess" means FULL Access. You can't lock them out of this field. You can make it more difficult as Phil describes above, but you can't make it impossible...they have Full Access.
Retrieving data ...