I created an mdb database and saved it.
Now I want to modify it but it says it's ReadOnly so I cannot change an开发者_运维问答ything.
It's an access 2000 file opened with access 2007.
How can I change this please?
If someone else has the database open, then ask them to close it. If the database was not closed cleanly (Access or a computer crashed), then you can try to Compact and Repair the file.
I have also noticed that if the file is opened or put in a read-only state at any time, it might get 'stuck' like that. So try this:
- Open Access, but no database
- Open the file in question, but explicitly open it in read-only mode (the 'Open' button is actually a dropdown button. Use the button to open read-only
- Close the file (but not Access)
- Open the file again, but open normally.
Not sure it that's a bug or a feature, but I've seen it frustrate many a user.
Another thing to watch for is when someone has access to READ the fileshare, but cannot WRITE to the directory. It's OK to make the database read-only for someone, but if they ever read it (including using an ODBC connection), it seems like they need to have WRITE permissions for the directory so they can create the lock file.
I've run into situations where the database gets locked read-only on the fileshare because the user who accessed it couldn't write to the directory. The only way to fix that quickly has been a call to the storage team, who can see who has the file and kick them off.
Create an empty folder and move the .mdb file to that folder. And try opening it from there. I tried it this way and it worked for me.
alos check the level of access to the shared drive. if the access to the shared drive is read only the file will open in read only format.
Check that there are no missing references - to do this, go to the database window and click on "Modules", then "Design", then select the menu "Tools" and then "References". Or try doing a compile and see if it compiles fully (go to the Debug menu then select Compile) - it might tell you of a missing reference e.g. Microsoft Office 11.0 Object Library. Select References from the Tools menu again and see if any references are ticked and say "MISSING:". In some cases you can select a different version from the list, if 11.0 is missing, look for version 12.0 then recompile. That usually does the trick for me.
In my case it was because it was being backed up my a background process which started before I opened Access. It isn't normally a problem if it have the database open when the backup starts.
While the OP is the original author of the database, and likely created a simple data model, I had experienced a similar behavior on a more complicated system. In my scenario the main .mdb file was on a network share location with read/write access by the user. The .mdb file referenced tables in another .mdb file in a different network location - where the user did not have proper access.
For others viewing this post to solve similar problems, verify the linked tables path and access.
To verify linked tables...(assuming Access 2010)
- Open database
- Click ribbon toolbar tab 'External Data'
- Click ribbon toolbar button 'Linked Table Manager'
- Identify paths to linked tables
- Verify proper security clearance to paths identified in linked table manager - if accessing ODBC (i.e., Oracle, DB2, MySql, PostGRES, etc.) sources, verify database credentials and drivers
on my pc I had the same problem and it was because in properties -> security I didn't have the ownership of the file...
The main reason for this is when the database is open somewhere else.
This could be as already said by many others:
- not being closed properly somewhere
- already open somewhere
When recently I had the same problem although different versions, I started to search for the reason.
In my case I had an excel file that queried data from the database.
In case the excel file is opened before the database, access would give this error.
Conclusion:
Check all files/connections related to the database. An open ODBC connection or query used in excel (my case) open the mdb file and will make it readonly.
You can open exclusively from Microsoft Access.
In our case, it happening on a shared remote box. The solution was to change file permissions so that every user had full permissions to every Access file.
It's the 21st century now. This should not be happening anymore. No wonder Microsoft is leaving behind Access with Office 365 Power Apps.
精彩评论