Results 1 to 4 of 4
  1. #1
    jassie is offline Advanced Beginner
    Windows 7 64bit Access 2007
    Join Date
    Jan 2012
    Posts
    40

    user access to access 2016 database

    I have a vb.net 2010 desktop application that uses an Access 2016 database. Some of the users update the Access 2016 database directly instead of updating the tables using the application. By updating the tables this way, some data is entered incorrectly.


    Thus is there a way to make the access database files read-only. If so, can you tell me how to make the access 2016 database tables read only.
    If this is not possible, would you let me know what other options there are can be? I think that the access files can be in folders within the company where the users where users only have read access.
    Thus would you tell me what some possible solutions would be?

  2. #2
    pbaldy's Avatar
    pbaldy is online now Who is John Galt?
    Windows XP Access 2007
    Join Date
    Feb 2010
    Location
    Nevada, USA
    Posts
    22,521
    I don't think you can make the folder read-only, or the .net app won't be able to write to it (untested). I'd think more about putting it somewhere with a hidden share so the users can't see it.
    Paul (wino moderator)
    MS Access MVP 2007-2019
    www.BaldyWeb.com

  3. #3
    CJ_London is offline VIP
    Windows 10 Access 2010 32bit
    Join Date
    Mar 2015
    Posts
    11,411
    Only a deterrent but since the backend should never be opened directly by any user except the developer, you can put an autoexec macro in the back end which just closes the application immediately. Users may know how to bypass the code, (hold down the shift key) but you can disable that as well. As a developer, you would have to go through some hoops to modify the tables - create new db, import tables, make your changes, add back the autoexec and save and replace the old backend, but so would the miscreant users. You can also password protect the backend, your apps would need to be relinked and be aware the password will be in full view to someone who knows where to look.

    To effectively hide the backend a technique you can use (probably with the assistance of IT) is

    1. create a new folder
    2. as a minimum give only yourself access to this folder
    3. in this folder create another folder
    4. give your users read/write access to this folder and place the backend there

    users will not be able to use explorer to navigate to the backend because they would be stopped at the first folder

    there are probably ways round that as well, depends how determined someone is to enter data into the tables directly

    you say you are using a vb.net front end, not sure what visibility user have of tables from there, but you should close that down as well.

    You might also want to find out why users are going directly to the tables - perhaps a form isn't doing what is required and needs improving.

    or upgrade the backend to sql server express

  4. #4
    ssanfu is offline Master of Nothing
    Windows 7 32bit Access 2010 32bit
    Join Date
    Sep 2010
    Location
    Anchorage, Alaska, USA
    Posts
    9,664
    Did you know that you could change the extension of the BE, re-link it to the FE and all is good??

    Say you have two files: "Conduct FE.accdb" and "Conduct BE.accdb" that are currently linked.

    Move the BE to a folder named "Unknown" or "Misc" just to make it harder.
    Rename the BE extension. I've used "abcde", "nope", "vwxyz", "xxxxx".
    Open the FE holding down the shift key.
    When the FE is open, go to the linked table manager.
    Click on button "Select All" to select all tables.
    Click on the check box at the bottom of the dialog box "Always prompt for new location"
    Click OK.
    Navigate to the folder where the BE is and select it.
    Click on "OPEN"
    Should get a message box "All selected linked tables were successfully refreshed"
    Click on OK, then Close.
    Close the FE and reopen it.
    Tada!!

    Try opening the BE just by clicking on it. .


    You can also rename "Conduct BE.accdb" to "Bananas.accdb".
    Link the FE to "Bananas.accdb".
    Close the FE, rename "Bananas.accdb" to "Bananas.xxxxx", then re-link the FE to "Bananas.xxxxx" using the steps above.

    Now the BE does not have the same name as the FE and the BE cannot be opened with Access unless you know which program should be used to open it (ie Access) and where Access is on your computer.....

    DO NOT forget what you named the BE!!!!!

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Replies: 3
    Last Post: 02-08-2017, 03:26 PM
  2. Replies: 0
    Last Post: 09-10-2016, 11:55 AM
  3. Replies: 2
    Last Post: 07-24-2016, 09:49 PM
  4. Replies: 2
    Last Post: 06-19-2016, 12:32 PM
  5. Replies: 2
    Last Post: 04-27-2016, 06:20 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums