DEV Community

Cover image for Restart Access in Microsoft Access
Richard Rost
Richard Rost

Posted on

Restart Access in Microsoft Access

Today's tutorial from Access Learning Zone involves how to restart Microsoft Access efficiently. If you have an Access database that runs continuously on a timer—perhaps like a server on your network—occasionally, it needs to be restarted to avoid issues. Today's question comes from Brianna in Rockville Center, New York, who has a setup like this and encounters various problems after a few days unless she manually restarts the database.

I have experienced a similar issue with my own Access database, which operates around the clock, sending emails and updating information. After a few days of continuous operation, it started to lock up or crash, leading me to reboot it manually. I discovered that restarting the database once an hour cleared up these issues.

This happens because no software is perfect. Access has its share of quirks, such as memory leaks. If you declare variables and do not clear them properly, over time, these small memory issues can accumulate, requiring a restart to clear them out. Think of it like cleaning a chalkboard: after writing and erasing multiple times, it eventually needs a thorough cleaning.

Before we dive deeper, note that this tutorial is intended for those with some VBA programming experience. If you're new to VBA, I recommend checking out some fundamental videos on my website and YouTube channel first.

Let's proceed with the task. I created a folder named "My DB" on my desktop, containing my Access database file. Since Access cannot launch another instance of itself directly, we'll utilize a Windows batch file to accomplish this.

First, create a text document named restartDB.txt. We need to locate the full path to msaccess.exe, which is the executable file for Microsoft Access. You can find this by searching for Access in your Start menu, right-clicking the app, and selecting 'Open file location.' Right-click the shortcut and go to 'Properties' to copy the path.

In the text document, use the "start" command followed by the path to msaccess.exe. Then, add the full path and file name of your database. Save and rename the text file to restartDB.bat. Double-clicking this batch file will launch your Access database.

Now we need the database to run the batch file periodically. In the Access database, we'll set up a form with a countdown timer to simulate its operations. Create or use an existing form and add a countdown field.

In the form's properties, set the Form Load event to initialize the countdown and start the timer interval. The Timer event will decrement the countdown and, upon reaching zero, it will run the batch file to restart the database. This involves shelling out to the batch file and then using the DoCmd.Quit command to close Access.

A few enhancements include adding a delay in the batch file for smoother operations and adjusting the code to restart the database once every hour rather than at shorter intervals. We'll also include a feature to pause the countdown timer if needed.

Part two of this lesson will cover these additional details.

You can find a complete video tutorial with step-by-step instructions on everything discussed here on my website at the link below.

For a complete video tutorial on this topic, please visit https://599cd.com/RestartAccess?key=Dev.To

Top comments (0)