Hello all! I hope everyone is blessed and wonderful! I am in a quandry :?: , I have a form that I need certain people (3) to have full rights to edit/update/enter the data and then I have everyone else (approx 40) to be able to view only the information on the form. I have the database stored on a shared network drive. I'm not able to make it a webbased form and my VB is EXTREMELY rusty!! :confused: Any suggestions on how to go about this is greatly appreciated!! Thank you all in advance!!:)

Dani AI

Generated

Thread context: a single Access 2003 MDB on a network share; three people must have full edit rights and about 40 others must be view-only. pointed at built-in permission tools and suggested separate forms — both are useful starting points. The most practical, low-risk plan is to combine a split database with either Access user-level security (ULS) or a simple form-level lock, depending on how strong the enforcement must be.

Split the database first (back-end = tables on the network, front-end = forms/reports on each workstation). For true object/data-level control in Access 2003, use the workgroup/user-level security model: create a custom .mdw, define two groups (Editors and Viewers), assign table/query permissions so Editors have Update/Add/Delete and Viewers have Read-only. Advantages: enforcement happens at the object level and requires little VBA. Caveats: ULS is specific to MDB/Access 2003 (not portable to ACCDB), not as secure as a server DB, and can be bypassed by someone with full file access—keep NTFS share permissions tight and retain an Admin copy.

If full ULS setup feels heavy, a lightweight option is a single front-end that switches form behavior at open time based on a users table or the Windows login. This requires only a tiny bit of code in Form_Open to turn editing off for viewers:

Private Sub Form_Open(Cancel As Integer)
    Dim sUser As String
    sUser = Environ("USERNAME") 'or lookup a Users table
    If sUser <> "editor1" And sUser <> "editor2" And sUser <> "editor3" Then
        Me.AllowEdits = False
        Me.AllowAdditions = False
        Me.AllowDeletions = False
    End If
End Sub

Notes and troubleshooting: test with a non-editor Windows account, test concurrent access, and back up before changing permissions. If data must be strictly protected from tampering, move the back-end to a server-side engine (SQL Server) and use its authentication/permissions instead of client-side checks.

Recommended Answers

All 2 Replies

Maybe this can help with users permissions

Make two different forms, one for each purpose.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.