Search code examples
ms-accessvbams-access-2007ms-access-2013

Run-time error '3328' table is read-only


Hi i am working on access 2007-2013 application with DSN-less linked, the application is working perfectly, but when i shared it with other users i am getting the following error

Run-time error '3328' table is read-only

i tried to enable the active x component in the application under options then go to trust center, and check [Never show information about blocked content]

also i noticed that when one user open the application the other user get this message

Could not lock file

how can i solve this issue? i know i have to go to do something under options, but what?

thank you


Solution

  • Like @AVG said, you're going to need split architecture.

    This has to components:

    Back End

    This is where all of your tables will be stored. It is just another Access database, without Forms/Queries/Reports/Modules.

    Front End

    This is where you are going to Link to your Back End, and this WILL contain Forms/Queries/Reports/Modules, and create linked tables as well.

    You're going to distribute this Front End to all of your users to solve these concurrency issues you're facing (people are editing records/viewing data and others are trying to write to that table and do other things at the same time, which Access doesn't like).

    The Back End needs to be in a location where everyone has access to it.

    I think in your question what you're asking for, would be this, but splitting the front end and back end is by far the best route to go. Simply turning off the security checks Access has in place to protect your data isn't advised in the least. It also helps reduce bloat.

    For disabling record locks : Click the top left Office Button, Click Options, Click Advances. Select No Locks.