By Richard Rost 2 years ago
Microsoft Access Database Troubleshooting Checklist
I get emails all the time from people with Access issues. All of the problems and questions from many of you have inspired me to start this: the Access Debugging and Troubleshooting Checklist.
I know I've pulled my hair out with strange Access problems that sometimes seemed to get fixed by the strangest things. I went nuts one day trying to fix a bug and it turned out I just needed to reboot the PC. Low system resources can cause any number of problems, including forms not opening, reports not printing right, crashes, etc.
So, here's my list of troubleshooting tips when you've got that Access problem that just will NOT go away. I have tried to rank these in the order you should check. The least painful fixes (quick and easy) are first. Try each one in order. If that doesn't work, move on to the next one.
My standard disclaimer applies. Before doing anything with your database, you should always make sure you have a good backup. 'Nuff said.
Close and restart your database.
Restart All Access Databases
Close and restart any and all Access databases. You may also want to check the Windows Task Manager and make sure that all instances of Access are closed. Kill MSACCESS.EXE if you have to.
Compact & Repair
From inside your database, go to Database Tools > Compact & Repair. See this video for more on the Importance of Compact & Repair.
Don't Use Online Storage
Make sure you are not running your database from any folder that gets backed up or synched by offline "cloud" storage programs like OneDrive, DropBox, Google Drive Sync, etc. These programs can try to backup your database file while Access is using it, and cause records to get locked unexpectedly, or even the whole file to get corrupted. See this post for details: Access Online.
Run on Local Drive
If your database runs over a network, try copying it to a local hard drive. See if the problem persists there. Likewise, if your database is split into front/back ends, try bringing the tables back into your front-end and see if the problem goes away.
Check For Known Bugs
If you are experiencing a weird error with Microsoft Access you may have encountered a known bug. Check these sources to see if it's already been reported:
If features in your database aren't working (like buttons when you click on them) make sure your database is run from a Trusted Location.
If you are programming in VBA, make sure you have Option Explicit in your code.
Problems With My Databases
If this is a database you downloaded from my website, Does this behavior happen in the stock database you downloaded from my website? If you've made any changes to the database then the error could have crept in at any time. Test the original database right after downloading it and if this problem occurs it may be a bug and I'll be happy to fix it. But if you've made changes then I don't know what you've done and I won't be able to tell what the problem is without knowing what you've done.
Compile the Database
In the VB editor window, go to Debug > Compile [Database Name]. You'd be surprised what bad code in one Module will do to another. Usually this just highlights syntax errors, but you'd be surprised sometimes. See the Compile TechHelp video for complete instructions.
Close and restart any open Microsoft Office Applications. They share DLLs so even a misbehaving Excel file can keep Access doing weird things.
Reboot the PC
That game you were playing last night might have eaten up your available memory. Those Recorsets that you DIM'd and forgot to set to Nothing at the end of your loop... yeah, you may have memory leakage or other low system resources. Give it a quick reboot. I know rebooting is a pain. Go get coffee. Make sure you do an actual Restart of Windows.
If you have any other applications that load with Windows (virus scanners, etc.) reboot without them. Run your Access database on a clean, fresh startup. Something else might be interfering with your database. Restart with the SPACEBAR held down so it bypasses your Startup apps.
Decompile the Database
If compiling the database doesn't fix the problem decompile and recompile it. See the Compile video for instructions.
Rename the Object
This may sound like a really weird one, but I had this specific form giving me a runtime error 459 every time I opened it. Tried everything. Couldn't figure it out. On a whim, I renamed the form. Worked! So when a particular object is giving you a hard time, just try renaming it. Form, table, control, variable, whatever.
Try a quick Google search for your problem. You never know, someone else might have experienced this exact same issue before and has a fix for you.
Try a Backup
Sometimes the problem may be due to something you recently added to your database. SAVE your current database (set it aside, rename it) so you don't lose any data. Then try restoring your most recent backup. If that works, then the problem was caused by something you changed. If that still doesn't fix the problem, try your next oldest backup. That should help you nail down when the bug crept in to your database.
Try Another PC
Believe it or not, I had a database once that would not work on one specific computer. The client called me in several times and I couldn't figure the problem out. It worked fine on every other machine in the office, and no other application (Word, etc.) had issues. Just my database. Turns out it was a faulty keyboard. For some reason, there was a short that affected Access in some way. No idea why. Replaced the keyboard. Database ran fine. Weird? Yes. But that's technology for ya.
Bugs happen. Microsoft is fixing bugs all the time. Sometimes an update creates a bug. The best way to make sure you don't have a problem with a known bug is to run an Office Update if something doesn't seem right. In any Office application, go to File > Account > Office Updates.
If you're sure you have the latest version of Office installed, make sure Windows is up to date too. The two are closely related. Bugs in Windows can cause your database to act weird. It's happened to me. Run a Windows Update. From the Start Button just search for "Windows Update."
Scan for Viruses
If you share or download files, you could have a virus. In which case your system could exhibit any number of odd behaviors. Open "Windows Defender." Make sure your virus definitions are up to date and run a complete scan of your system.
Check Database File Size
If your database, or any attached back-end databases, are getting close to the 2 GB maximum size limit, this could cause any number of random problems. Remember, Access is constantly working with hidden index and system tables. If it can't create or modify any of these, for any reasons, you might get weird errors. Try to keep your database files under 1.5 GB if possible. If not, split them. If you have a single table over 1 GB, you should optimize it, dump old data, or upgrade to SQL Server.
New Database File
Sometimes ACCDB files get weirdly corrupted. Even after a C&R it might not be acting right. Create a blank new ACCDB file and import the misbehaving object(s) into it. If they work, the problem is a bad file. Proceed to import the rest of your objects until you find the culprit.
Check Remaining Hard Drive Space
Check to make sure you have plenty of free space available on your hard drive. You should have at least twice the space available as your database file size. So if you have a 1.5 GB database, you should have at LEAST 3 GB of free space available. If not, free up some space or upgrade your drive.
Remove 3rd Party Components
Your problem might be with a 3rd party DLL, OCX, or other plugin.
Remove 3rd Party Software
Sometimes software that you have installed from other 3rd party vendors may replace DLL files that Microsoft Office needs to run properly. This is usually a problem with "independent" software authors, shareware, etc. Try removing any non-Microsoft software from the machine. You may need to reinstall Office after removing the offending program to put the proper DLL back. If you are going to go so far as reinstalling Windows (see below) then I would suggest install a fresh copy of Windows and then a fresh copy of Office (Access) before you install anything else. This will definitely determine if it's a 3rd party software conflict.
Sometimes files get corrupted and an Office Update won't repair them because it doesn't know to look for them. I've had bad DLL files before that have wrecked havoc on my system, and everything was up to date. Sometimes you need to completely uninstall Office first, so that everything is deleted, and then reinstall it. Don't just install over an old copy. If you have remnants of older versions of Office on your system, delete those too.
I'm not usually someone who pushes "the latest and greatest" upgrade on people. I've always been of a mindset "if it ain't broke, don't fix it." However, sometimes problems with older versions can go away in a newer one. Sometimes they fix things that you might not have known were broken.
Sometimes you might have a corrupted Windows DLL file. You may need to try working from a fresh install of Windows. If you have tried everything else AND your database works fine on another computer, this may be your only option.
If you've checked everything off on this list and you still need help with your database, let us know. We'll do our best to help you out. Your first line of support is the Access Forum. Post your problem there. I try to check them as much as I can, plus I've got a great team of Moderators that help out a lot (and I'm super appreciative of that!). I no longer offer one-on-one technical support or Consulting, however if it's business critical, you may be able to get assistance from one of my Moderators, students, or colleagues via the Access Developer Network.
Specific Issues or Error Messages
The above items are for generic "weird" problems that don't always have a specific problem you can pinpoint. The following are some common issues or error messages that may come up and solutions on how to fix them. I'll add to this list as time permits.
Feel free to post 'em below.
Subscribe to Troubleshooter
Get notifications when this page is updated