Unanswered: Create a Read-Only and Write version of a DB?
I'm fairly noob to the Access database game...just started here and there this summer!
What's the preferred/best practice/or ok to use method in order to have a read-only (view forms and print reports) user version and also a write (able to add/edit the data) version of an Access DB?
DB created with Access 2010. Users will be using Runtime2010. DB split into FE on each user's PC and BE on a shared network drive. About 8 users will occasionally use this DB. Some will just need to view forms and print reports, others will be changing the data occasionally. The way I've set my DB up is that you click a button to bring up an editable form to edit any data. So with that in mind:
Combing the web I've basically gotten these 3 solutions:
1. Easiest for me: Create 2 FE's. More work to make changes w/2, but I'm ok with that...for now. My particular DB only brings up an editable form when you click a button. So I could just copy the FE and just quickly delete these few buttons to essentially create a Read-Only version.
2. Incorporate the User Level Security from an older mdb DB, or some form of it that would allow read-only and write permissions maybe.
3. Create workgroups on the network and assign permissions to the files there...not sure of the details on that but I think that's what a few places mentioned doing.
Anyways...regardless of my potential solutions above I'm looking for other peoples input on how to just have a Read-only (view forms and print reports) user version and also a write (able to change the data) version of the DB.
Thanks in advance and you have probably answered this before so feel free to just link to a post if you like. I appreciate any feedback on this.
(Background in HTML/CSS, new to VBA-Macros but I can generally follow along with what it's trying to do...incorporating it is another story...)
How about creating access levels within the database to recognize who is logged in to a computer? That is usually my preferred method as it is seamless for the end user.
I usually start by creating a table with Username and AccessLevel fields
John Doe..............Regular User
Jane Doe..............Admin User
I then create a module and place in this code:
Public Function Environ(Expression)
On Error GoTo Err_Environ
Environ = VBA.Environ(Expression)
MsgBox Err.Number & " - " & Err.Description
Then on the form, I place an unbound text box called UserName. I set the Visible property to No.
I place this code on the form's On Load:
Me.UserName = Environ("username")
Then I use code to set whether fields are visible or not based on the access levels.