?
Solved

ACCDE conversion conflict with external library reference

Posted on 2012-04-09
5
Medium Priority
?
501 Views
Last Modified: 2012-04-09
Greetings all ...

I'm running into a conflict while trying to convert an Access 2007 accdb file to an accde file. Access persistently reports that it is "unable to create the accde ... file".

I've narrowed down the cause of the conflict to the mere existence of a VBA reference to an external library file in the file I'm trying to convert.

As an experiment, I created a new accdb fiile, named Db1. There is only one object in Db1, a main module with a single line reading "Option Compare Database". This file converts just fine to accde format.

I then create a second accdb file in the same folder, and name it Db2. Db2 contains no objects. I create a VBA reference to Db2 in the VBA window of Db1 under Tools/References.

When I then attempt to again convert Db1 to an accde file, Access fails, reporting it's "Unable to create the .accde ... file."

I've tried this with and without a module in Db2, and I've tried it converting Db2 to an accde file before creating the reference in Db1. All fail.

Does anyone have a solution to this, other than the obvious? I can't believe this is an illegal procedure. Am I missing a hidden configuration item in Db2 (or Db1) that will allow me to keep the reference to the shared library Db2 in Db1, and still convert Db1 to an accde file?

Many thanks for any thoughts you have on this matter. I greatly appreciate your efforts, expertise and perspective.

Best,

John
0
Comment
Question by:jofoco4
  • 2
  • 2
5 Comments
 
LVL 58
ID: 37823422
John,

<<Does anyone have a solution to this, other than the obvious? I can't believe this is an illegal procedure. Am I missing a hidden configuration item in Db2 (or Db1) that will allow me to keep the reference to the shared library Db2 in Db1, and still convert Db1 to an accde file?>>

  When your making a DB and it uses external libs, the sequence that you compile them in is critical.

  First, open, compile and save the lib.  If your converting it to a MDE, then do so now.

   Then open your main app, uncheck the lib reference and close the DB.  Now open, re-check the reference, and then compile.

  Now you should be able to convert the main app to a MDE.

  Jim.
0
 
LVL 58

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 2000 total points
ID: 37823450
And by the way, if that still fails, then a /decompile may be in order:

/Decompile:  What it is, what it does, and how to use it.

http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_2043-Decompile-What-it-is-what-it-does-and-how-to-use-it.html

 This will often fix issues in VBA code.

Jim.
0
 

Author Closing Comment

by:jofoco4
ID: 37823632
Thanks, Jim ...

Just came on the site to report that I believed I had found a solution when I came across your response. It was good to find your confirming perspective.

My earlier failures to convert the "top level" file, after I had converted the "referenced" file to an accde format, must have been due to ancillary matters (perhaps I hadn't compiled Db1 again, after changing the reference from the accdb to the newly converted accde file).

In any event, you're right. The solution was a matter of starting out at the extremities and converting any 'daisy chained' support files, first. Once the files being referenced are all accde's, the top level file tipped just fine.

Many thanks for your articulate response. This one really had me going there for a while.

All best,

Jed
0
 

Author Comment

by:jofoco4
ID: 37823651
Whoops. I should have awarded the points to your first response. I didn't have to decompile (at least this time around!) to solve my issue.

Although, I'm glad you mentioned the decompile option as a possible further requirement; it will likely come in handy for others who find this question.

Thanks again for your help!

Jed
0
 
LVL 75
ID: 37824125
Decompile :-)

Just an FYI.  If you are creating a 'DE' ... and you have a Reference set to one or more 'DBs', then *every* DB in the Reference food chain *must* also become a DE ... otherwise you will get that error message.

mx
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Code that checks the QuickBooks schema table for non-updateable fields and then disables those controls on a form so users don't try to update them.
Sometimes MS breaks things just for fun... In Access 2003, only the maximum allowable SQL string length could cause problems as you built a recordset. Now, when using string data in a WHERE clause, the 'identifier' maximum is 128 characters. So, …
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question