• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1318
  • Last Modified:

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
0
clarkscott
Asked:
clarkscott
3 Solutions
 
MikeMcEvoyCommented:
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.

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=941B3470-3AE9-4AEE-8F43-C6BB74CD1466&displaylang=en
0
 
clarkscottAuthor Commented:
Mike, I don't see anything in the link mentioning Access.  Excel, etc. is listed, but no Access.
Scott C
0
 
stephenlecomptejrCommented:
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.
0
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

 
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.

thanks
Scott C
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
"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.

mx
0
 
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
0
 
stephenlecomptejrCommented:
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:

http://msdn.microsoft.com/en-us/library/ff700513(v=office.11).aspx

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.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now