Link to home
Start Free TrialLog in
Avatar of ca1358
ca1358

asked on

Making a Access Database a Secured Read Only Database

I right Click on Properties and checked Read –Only.  It opens and states Read Only but at the top states Save As to be able to make changes.  How do you eliminate Users having the option to Save As so they can change information.

Any help would greatly be appreciated.
ASKER CERTIFIED SOLUTION
Avatar of Eirman
Eirman
Flag of Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
There is no way to truly secure an Access database.  Are you worried about protecting data or about protecting objects?

All steps to lock down start by using a form driven interface.  You hide the navigation pane, you add log in security to force people to log in.  Your forms should refuse to work if a valid user is not logged in.  You would compile the database and distribute as an .accde which has been renamed as .accdr.  You would add code to prevent shift bypass (search for this phrase to find code samples).
Avatar of ca1358
ca1358

ASKER

I know how to Shift bypass
Private Sub bDisableBypassKey_Click()
'***************** Code Start ***************


'Assign this to the OnClick event of a command button (or double-click event
'of a label or graphic) named "bDisableBypassKey"
'Change the "TypeYourBypassPasswordHere" default password to your password


  On Error GoTo Err_bDisableBypassKey_Click
    'This ensures the user is the programmer needing to disable the Bypass Key
    Dim strInput As String
    Dim strMsg As String
    Beep
    strMsg = "Do you want to enable the Bypass Key?" & vbCrLf & vbLf & _
             "Please key the programmer's password to enable the Bypass Key."
    strInput = InputBox(Prompt:=strMsg, TITLE:="Disable Bypass Key Password")
    If strInput = "pass" Then
        SetProperties "AllowBypassKey", dbBoolean, True
        Beep
        MsgBox "The Bypass Key has been enabled." & vbCrLf & vbLf & "The Shift key will allow the users to bypass the startup & vbInformation, &_ "
        'Set Startup Properties'"

    Else
        Beep
        SetProperties "AllowBypassKey", dbBoolean, False
        MsgBox "Incorrect ''AllowBypassKey'' Password!" & vbCrLf & vbLf & "The Bypass Key was disabled." & vbCrLf & vbLf & "The Shift key will NOT allow the users to bypass the & startup options the next time the database is opened.", vbCritical, "Invalid Password"
        Exit Sub
    End If
Exit_bDisableBypassKey_Click:
    Exit Sub
Err_bDisableBypassKey_Click:
    MsgBox "bDisableBypassKey_Click", Err.Number, Err.Description
    Resume Exit_bDisableBypassKey_Click
End Sub
Of course, Shift Key Bypass is easily disabled from a remote Access db ... so again, not secure in that context.

What exactly is your goal here ?
Avatar of ca1358

ASKER

I been advised that they want a Database to be Read Only and they dont want the users to login anymore.  Just to have the Database Tables to be Read Only so that the all Users can not change data but only look at data.
Did you look at that "Open - Read Only" Option (on the dropdown arrow)
Avatar of ca1358

ASKER

Are you talking about Right Click on Name of Database and choose Properties and check Read-only_Apply_Ok
Eirman is right. If the file itself is marked Read-Only on the server, there is _no way_ to alter it.
Save As .. only offers the option to save the modified file (in memory) to a new file. Doing so leaves the original as is.

/gustav
Avatar of ca1358

ASKER

Thank you
Avatar of ca1358

ASKER

Thank you