I have created a local user interface that uses a number of linked tables from a shared access database on a network server. When I try and add/modify records from the UI to the linked tables on the server (from a form) I get the "Operation must use an updateable query." error message.
Problem solving so far:
Checked to make sure I had read/write/create access to the shared network folder.
Ensured that the tables in question were indexed with a primary key.
Opened the shared network database directly and added/edited records from the same computer that I am testing the UI on (in other words simply reconfirming the access noted under point 1).
Added the local and shared folders to the databases trusted locations.
I have worked with Access for years and never stumbled across this situation previously.
Further information - UI is installed on a Win 10 machine and the shared db is on a Win 7 machine.
Sorted the issue out. Seems it was a Windows security issue with a particular folder on the network server. Created a new shared folder with new permissions, copied the shared database, updated the table links and all work fine now.
Related
MS Office 365 ProPlus, Access 2007 - 2016
I am the creator/owner of a MC Access DB that is shared among many users on several different sites. I recently "split" the DB (a really good move)... the "frontend" is a the_db.accdb file that each user has on their laptop, and the backend is a the_db_be.accdb file that is on a file server the users can access through their frontend.
I need to alter a trigger on one of the tables. I can't do this because users have the DB open. Is there a way I can shut the DB down (kick users off) so that I can do this work? I found lots of stuff on google about closing a DB, but this appears to be from the standpoint of an individual user closing their own connection down, not booting all users off of a DB.
Thanks for any help !
Currently, I am syncing a WordPress project database between myself and my team via Dropbox. I notice that Dropbox never syncs the database after I make changes to it until after I have stop the servers in MAMP. This is causing conflicts occasionally if more than one member of my team edits the same database entry on their local machine and then each person closes their respective MAMP servers at different times.
I'm assuming this is because MAMP is locking the database folder while it is in use. Is there any way to prevent MAMP from locking this folder or to give Dropbox privileges that extend past MAMP's file locking?
I would greatly appreciate any help!
File locks are there for a reason. Attempting to bypass the file locking mechanism just seems to be asking for a corrupted database.
Although not at all practical nor safe, your team members can copy the file from their dropbox directory a non-synced directory make changes and overwrite the database file in dropbox. But this opens the door to overwriting others work if the version copied isn't the most up to date version (obviously).
A practical and safe solution is to connect to 1 database server and team members will be able to safely make changes on the server (and obviously everyone will have access to the most up to date version).
I have a read-only file that queries a SQL Server database and will provide the information personalized for the specific user. (Excel identifies the user and then runs the query based on the users id). What I was wondering is if there is a way to share the file without having to setup an ODBC connection for each user?
For right now I have it working for four users, but to get to that point, I had to setup ODBC on each machine. Since the file will eventually have about 60 users I was hoping there was a way for it to query SQL Server without having to setup that many ODBC connections?
See here: DSN-less connections for a guide
Here's the deal.. I have a MS Access DB with a number of linked tables to a MYSQL DB. I was having issues running queries on my c# program only to find out the machine I was coding from is clearly not reading the DB properly.
So to make things simple I open the Access DB with Access and tried to open a table where I knew what the data should be. The machine I'm coding from does not get the latest data from the MySQL DB.
I open the SAME Access DB from two other machines on my network that I know my c# program works correctly. From there the Access DB shows all the updated data from MySQL.
Unfortunately I've come into this project in the middle. I'm only just learning about linked tables. I see there's tons of info about it and how to do it programatically but I just don't understand how it works fine on two machines.. but the other machines see some data, just not the latest. It has nothing to do with my c# program since I see the issue with I'm reading the DB via access.
Is there something... some code or something installed on the two working machines that allows it to keep up to date that I'm missing? If there is.. I just simply don't know where to look.
Thanks!
I wonder if your MySQL drivers are up to date on that machine. Also are you using DSNs to access the Access database? If so that machines DSN may be pointing to an out of date development Access database.
We're using MS Access 2007 as our DB and should support users with limited access (power users):
The DB should be common to all users (hence cannot be located on user's private folder)
We are not allowed to grant permissions for all users for R/W for a certain directiry
Yet we need all users be able to use this DB.
Can anyone can think on a solution to this issue?
(I can only think on writing a service to this job, but I'm sure there must be something better)
Have a look at this to help you make your decision. Personally I won't recommend using Access if your user is more than say 4 simultaneous users as a shared database. I've used solution however where we use Access as a front end to a SQL Server backend where we cache SQL data locally for faster access and push necessary data changes back to SQL Server. And have that Access file reside on the client computer.
Putting Access anywhere will require a R/W permission on that directory since Access will create lock file in that directory (or it used to be anyhow).
If you insist on using Access, I'd go w/ Access front end connecting to SQL Server backend. The network share option is doable if you don't have a lot of users (4 - 8 the most).
You want to split the MDB into a Front End MDB containing the queries, forms, reports, macros and modules with just the tables and relationships in the Back End MDB. The FE is copied to each network users computer. The FE MDB is linked to the tables in the back end MDB which resides on a server. You make updates to the FE MDB and distribute them to the users, likely as an MDE.
See the "Splitting your app into a front end and back end Tips" page for more info. See the Auto FE Updater downloads page to make this relatively painless.. The utility also supports Terminal Server/Citrix quite nicely.
Now I don't quite understand why you have the restriction mentioned in your second bullet There has to be a common folder on a server somewhere where all usess have R/W privileges. Please explain this in more detail.
SQL Server Express can be used as the backend database, and it doesn't require that you give write permissions to a folder for everyone.
The SQL Server Migration Assistant 2008 for Access V4.0 can be used to migrate the Access database tables to SQL Server Express.
Using SQL Server Express as the database server will greatly improve the stability and reliability of Access in a multiuser environment. I have worked with Access for several years, in installations with 20+ concurrent users. If you are doing something similar, I strongly recommend that you use Sql Server or Sql Server Express as your backend database.