vba to convert Access 2010 to Access 2003

A large company is going to move to Win7 and Access 2010 - but only half of them.  Problem is, many desktop Access and Excel apps create Access database backends.  Databases created with 2010 cannot be read by 2003 users (can't force the accdb to mdb with success).  
Is there a function that, in code, these 2010 Access accdbs can be converted to Access mdbs?

Scott C
LVL 20
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.

A simple compatibility pack from Microsoft will allow the access 2003 users to open files created on the Office 2010 machines. No need to convert them with VBA.


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
clarkscottAuthor Commented:
Mike, I don't see anything in the link mentioning Access.  Excel, etc. is listed, but no Access.
Scott C
Do you have at least one license of Access 2007 to serve as a conversion piece?  I was able to go on a machine with only Office 2010 installed - create a simple brand new database for Access 2010 then after finished - went in Windows Explorer and renamed the file from .accdb to .mdb.  Then I went on another machine with Office 2007 only and used Access 2007 to save the file down to Access 2003.  Of course, I didn't have any coding modules or forms, queries created... not sure if you do have as well.

If you are looking for VBA only that's going to be hard when it seems Microsoft keeps distancing itself from VBA with each release.  I'm glad enough that at least the VBA code still works for Office 2010 - but there are still a lot of modifications to make it work - not even mentioning some conflict with 32-bit / 64-bit versions as well.
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

clarkscottAuthor Commented:
I have no issues with vba coding within Access 2010 (i use it extensively).  The 'manual' conversion is not an option in my scenario due to the large number of databases created.  I  (think I) really need to try to solve this in code.

Scott C
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
"2010 Access accdbs can be converted to Access mdbs?"
Even though in theory, if no new features of A2010 are used, you can convert to an A2003 db ... there are numerous reports that this is problematic ... dbs cannot be opened and/or other issues.

Not sure what your solution is going to be, other than create these dbs in A2003.

clarkscottAuthor Commented:
Well, I'm going to split the points - although there is no solution (which could be the answer to the question).

Not sure how I'm moving forward with this, but I guess that's why I get paid the 'big bucks'... :-)

Scott C
I'm sorry Scott there wasn't a provided solution.

As regards my statement - "I'm glad enough that at least the VBA code still works for Office 2010 - but there are still a lot of modifications to make it work".

What I was refering to was working in an Access 2007 32-bit environement and then having to upgrade to Office 2010 64-bit with changes to the Access VBA using API code as the following link declares:


If I had to do what you wanted via vba code - then:
1.) throw all filename paths of the Access 2010 databases into an empty  table.
2.) then do a recordset to loop through each database name - parse the name out of the path only and add an _2007 extension before the .accdb
3.) create a new database using VBA with the new _Access 2007 name with the .mdb extension
4.) Open the original database using Access.Application to get the object names of all tables, queries, forms, reports and modules and place each in their own collection variable object.
5.) now open up the new database and do a Docmd.TransferDatabase acImport of the original database's tables, queries, forms, reports and modules via each collection object
6.) once finished close out and start over for each database name.
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.