How to resolve the error "Missing: Microsoft Common Dialog Control 6.0 (SP3) in VBA Reference for application written in Access 2003 and now I open it in Access 2010?

How to resolve the error "Missing: Microsoft Common Dialog Control 6.0 (SP3) in VBA Reference for an application written in Access 2003 and now I open it in Access 2010?

In addition, when I open the application in Access 2010, a message box appears:

Your Microsoft Access database or project contains a missing or broken reference to the file 'comdlg32.ocx' version 1.2.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Kelvin SparksCommented:
Download it from here (provided you're not using 64 bit Access) and install according the the instructions.

DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
Are you using the Calendar Control ?
If so that has been replaced with the Data Picker available in any Text Box wherein the Control Source is a DataTime Data Type.

From that KB:

"This package is provided under the terms of the End User License Agreement and is intended for the following customers:
Customers who are Microsoft Visual Basic 6.0 and/or Microsoft Visual Studio 6.0 licensees.
Customers who are not licensees of Microsoft Visual Basic 6.0 nor Microsoft Visual Studio 6.0 but are using older versions of the two Common Controls."

I think this means that to legally use this, yoyu must have a licensed version of an earlier version of Access (say A2003) on your system.
Kelvin SparksCommented:
I'd disagree with Joe's last comment. I think it means that you can use it if the control was added in a database developed using a licensed version. This allows an upgrade path despite whoever held the original license.

I do not believe you have to be the license holder.

I would agree that you cannot download the dll and use it to insert a control into an Access 2007 or later database for the first time.


IT Pros Agree: AI and Machine Learning Key

We’d all like to think our company’s data is well protected, but when you ask IT professionals they admit the data probably is not as safe as it could be.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Of course you have to be a license holder. MSFT has never, to my knowledge, removed the restriction that you must own a valid license to deploy this control. I could be wrong (and I'd love to see the MSFT announcement of that), but from my viewpoint Joe is right, and you can only deploy this control if you were previously licensed to deploy it.

AFAIK, the Calender Control was licensed through VB 5.0 and 6.0, and through certain versions of Access (the Developer Editions) - and those Dev editions contained a particular version of the control, not the same one that was provided with VB.
zimmer9Author Commented:
I originally used Microsoft Office Access 2003 (11.8321.8405) SP3 for my application and I now use
Microsoft Access Version 14.0.7145.5000 (32-bit) for this application.

I am also using Windows 7.

The application I am working with does not use the Calendar Control.
zimmer9Author Commented:
The application works successfully when I open it in Access 2003.
The errors occur when I open the same MDB type application in Access 2010.
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
My bad - I meant the Common Dialog Control. Unless you owned the Developer Edition, or Visual Basic 5.0 or 6.0, then you don't have the license necessary to deploy the control.

That said - many ActiveX controls that worked perfectly fine in earlier versions of Access don't work well (or at all) in 2007 and above. MSFT has never guaranteed compliance with those controls in Access, with the distinct exception of the controls supplied with the Developer Edition (or Extensions, depending on your version of Access). The controls supplied with those editions were specifically designed to work with Access, which does NOT manage ActiveX controls in the same manner as other environments, like VB Classic, Visual C, etc.

Your best bet is to do away with that control, and use either the FileDialog control (which is native to Office, not Access), or do what you need with API calls.

File Dialog:


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.