Name AutoCorrect in Microsoft Access sounds like one of those dream features you did not know you needed until it quietly starts breaking things behind your back. You rename a field in a table, and poof - Access promises to update all your forms, queries, and reports to match. What could possibly go wrong? Well, after years of wrangling with Access databases, I am firmly in the "turn it off immediately" camp, and here is why.
The idea behind Name AutoCorrect is simple enough: give your fields or tables new names, and Access tries to chase down everywhere those names are used and update them for you. In a basic little database, it can seem magical. Rename a table or field, and your forms and queries do not break - at least, not right away. But once you get beyond the absolute beginner stage - introducing some VBA, more advanced queries, or complicated relationships - Name AutoCorrect starts looking less like a helpful assistant and more like a mischievous gremlin.
Let's get this out in the open: yes, if you only deal with super-simple databases, you might never have noticed a problem. Rename a column called "Customer Since" to "Customer Start Date" and most of your basic forms and queries will keep on working if you have Name AutoCorrect turned on. But - and this is a big but - the magic does not reach everything. Your control names stay the same. Any VBA code that references "Customer Since" does not get automatically updated. That button you wrote three years ago and forgot about? Still points to the old name - and now it is broken. Access, sneaky as it is, does not warn you or fix your code. It just lets the error show up at the least convenient moment, like Monday at 9:15 AM when everyone is already emailing you.
The options for Name AutoCorrect are tucked away under File, Options, Current Database. There are three settings: Track Name AutoCorrect Info, Perform Name AutoCorrect, and Log Name AutoCorrect Changes. Track is like the master switch, and the others depend on it. If you turn them off, especially in your project template, you will avoid a lot of behind-the-scenes overhead and save yourself some confusion. Object Dependencies - the little feature that tells you what objects rely on what - does use the Name AutoCorrect info, so if you love that tool, just know it depends on tracking being on. Personally, I barely touch it.
Where it really trips people up is with anything outside the designer's drag-and-drop world. VBA code, SQL statements, DLookup, recordsets, you name it - Access does not touch those when it updates a table or field name. And here is the real kicker: Name AutoCorrect works just well enough to give you a false sense of confidence. Some stuff gets fixed, so you think everything is fine. Then the weird bugs start rolling in weeks later, and you have to play detective to track down references that did not get updated.
Some really respected names in the Access world fall on both sides of this debate. Colin Riddington, an Access MVP, argues that you can use Name AutoCorrect if you really, truly understand how it works and what it skips. And yes, if you are careful and know every quirk, it can maybe be your friend. Me? I do not need another feature that requires a deep knowledge of all its hidden behaviors just to avoid disaster.
Then there is Allen Browne - legendary in the Access community - whose take is short and sweet: just turn Name AutoCorrect off. Even though Microsoft has improved the feature over the years, Allen's old advice still holds up, because the core problem remains: Access still does not update everything, especially code. All it takes is one missed field reference in a macro, form, or chunk of VBA, and you are tracking down bugs that should never have existed in the first place.
If, like me, you have ever built a database with thousands of lines of code and more moving parts than a Swiss watch, you know the pain of chasing down these elusive errors. At this point, I just leave old field names alone unless I am absolutely forced to change them. That column I named badly in 2001? Still there, spaces and all. Sometimes it is better to live with a little inconsistency than to risk breaking the whole machine.
My advice is simple: turn off all the Name AutoCorrect options in every new database you build, especially if you do any coding in VBA or SQL. Instead, if you must rename something, search your entire project for references and update them yourself. Do not trust Access to know what you meant. And for the love of data, do not use "Find and Replace All" unless you like unexpected surprises.
There are always a few Access developers who will fight me on this, but I will stick with my gut. Name AutoCorrect tries to solve a problem, but it just adds its own layer of complexity and unpredictability. I would rather take five minutes to check my own work than spend five hours fixing mysterious bugs later.
I am curious: are you in the turn-it-off club, or do you leave it running? Let me know in the comments. And if you want to see demos and deeper dives into all the weird little Access features you should avoid (Multi-Valued Fields and Attachments, I am looking at you), check out the embedded video above.
Live long and prosper,
RR




