I'd say 'yes, it is not worth it.' I would go with control using VBA. Scott Diamond has a good article on employing VBA security here:
What I take away from this is that its not worth implementing this feature, if the db will eventually be converted to newer Access version.
Using User-Lever Security (ULS) you can specify a user's access on a table level. Just use the Security Manager to select the user and table(s) and remove the permissions as required. Note that it is better to create a groups which reflect the different roles or tasks of your users and apply permissions to the groups, not the individual users. Then it is easy to add and remove users from different groups.
You cannot apply ULS at a column level within a table. The only way to do this is to move the "secure" fields into another table, with a one-to-one relationship to the original table on the primary keys. You can then apply security to the second table and base your forms on a query that joins the two tables.
You also cannot apply ULS at a row level. The only way to achieve this is to deny access to the actual table, and create a "Run With Owner's Permissions" (RWOP) query which includes a WHERE clause selecting only those rows the user may access.
Of course, ULS is available only in the old (MDB) format databases, and not in the new (ACCDB) format. It is also very difficult to administer in versions after 2003 because there is no Security Manager. You might like to consider upsizing your back-end database(s) to SQL Server and using SQL Express.
Graham [Access MVP 1996-2015]
Is there a way to make a user 'read only' (can not modify)? For the entire table or specific fields in the table?
I have an option to password every form, but once the user has access to the form hey can see/modify 'everything' on the form.
I am using User Level Security and Access 2003.
Posted by: sarahk@...
Posted by: "Bill Mosca" <email@example.com>
|Reply via web post||•||Reply to sender||•||Reply to group||•||Start a New Topic||•||Messages in this topic (5)|