We have an Access mdb database originally built in the late 90s. We currently use MS Access 2000 on Win7.

Since switching to win7 from XP the database keeps getting locked and corrupted and we are unable to open it. We then have to revert to backup copies made days before and lose lots of data. The database is around 36mb.

So does anyone know;

A) Is there any way to repair these locked/corrupted mdb files so we don’t lose data every time this happens.

And B) why this issue may be occurring in the first place. Are there known issues with office 2000 on win7?

So far google has failed to help me, hoping someone here may have some ideas!

Note due to the age of the DB we are unable to run it in any office version past 2000.

Is there anything in the database that can't be migrated to a newer version?

Using a database that's been unsupported for nearly fourteen years is a bad idea.

We can’t use modern versions of MS Access because many of the macros fail in the newer versions, and there is ~50 macros in the database.

In our view debugging and fixing all the macros far outweighs continuing to use software we know works, and has worked fine for nearly 20 years.

As it turns out the database is even older than I first thought, there are records dating back to 92! So there’s no surprise it won’t run in modern MS Access versions.

Perhaps we should start an hourly backup as suggested and keep reverting back every time this happens. It does seem to happen every couple days now, so it’s apparently getting worse.

So nobody has any suggestions how to unlock and fix these broken copies then?

As to the question of unlock and fix, there should be spammers here with the usual filerepair.com and other sites. Since many of these are spammers I won't mention them.

My thought is as a programmer you find where in your code you can reduce the opportunity for failures or revamp, migrate to a solid system. For example I found Access to do exactly what you noted and not much you could do about it. This meant the classic SQL (MySQL and others) with some user frontend in whatever language was the solid replacement for shaky Access.

There are some that use Access and demand it work right. You can imagine how others think about that.