locked
Access 2013 accde with access runtime 2010 RRS feed

  • Question

  • Hi,

    I have been successfully running a small application created with Access 2010 as an accde database front end on a number of Windows 8 PC's with Access runtime.

    I have just migrated to to Access 2013 only to discover that an accde file created with Access 2013 will not open with Access runtime 2010 - "The database is in an unrecognised format".  An Access 2013 accdb, however, will open.

    As Access 2013 runtime is not expected for a few months, is there a work around short of going back to Access 2010 or am I missing something here?

    Thanks in advance...

    Wednesday, February 20, 2013 9:37 PM

Answers

  • Hi Dan

    When you edited the ACCDB in A2013 then some flags are set about the version that was used. Access 2010 now realizes that a newer version was used. A2010 doesn't know if the bytecode contains any functionality that A2010 didn't provide. So the byte code (the compilation of the canonical (AKA text) code) may not fit. Access 2010 therefore is forced to drop the bytecode (same as you do a /decompile manually) and rebuild it by compiling the canonical code.

    As the ACCDE doesn't contain any canonical code, only bytecode, Access fails doing so and tells you that the database is in a unknown format. If you start the ACCDB A2010 now can "decompile" your application and compile it before running the code. If there would be any functionality in it it doesn't know it now would give you a compilation error.

    It may be possible to open an A2013 ACCDE that doesn't contain any VBA code in A2010, but I'm not sure. I can't test it as I don't have A2013 installed (and refuse to install any O2013 products with the current licensing limitations).

    Henry

    • Proposed as answer by Dummy yoyo Thursday, February 28, 2013 4:42 AM
    • Marked as answer by Dummy yoyo Friday, March 1, 2013 5:04 AM
    Friday, February 22, 2013 3:56 AM

All replies

  • AFAIK, Without the Runtime, your only option is to have the users install or have installed Access 2013 software on their machines that will be using it. I believe MS still allows people to download trial versions for 60 Days without buying. Then when Runtime is available you can send the Runtime and let them know they should uninstall Access 2013.

    Chris Ward

    Wednesday, February 20, 2013 10:13 PM
  • Thanks for the response Chris.  Sure that is an option but there is no real ETA on runtime 2013 and I'm not really keen on installing a full trial version on a number of PC's in the interim anyway.  I thought there might be a way of creating a runtime 2010 compatible accde from within Access 2013 that wasn't obvious or perhaps removing some specific features which are causing the incompatibility.

    Short of this I can always continue developing in Access 2013 take the accdb file and create the accde on a PC running Access 2010 as this seems to be working.

    Thursday, February 21, 2013 3:56 AM
  • 1) I thought there might be a way of creating a runtime 2010 compatible accde from within Access 2013 that wasn't obvious or perhaps removing some specific features which are causing the incompatibility.

    2) Short of this I can always continue developing in Access 2013 take the accdb file and create the accde on a PC running Access 2010 as this seems to be working.

    1) No, not only would you have to remove all the features but also any references to Microsoft Office 15 and that would make it non - functional.

    2) You would be better served to create in the lowest version of Access that will be used in your case access 2010. Even though this has worked thus far for you, you may run into serious corruption issues even just within your Tables as Field Types in Tables has changed also.


    Chris Ward

    Thursday, February 21, 2013 6:38 AM
  • Hi Dan

    "Dan Semkiw" schrieb im Newsbeitrag news:224693e1-a5c7-4b91-a66f-2e9da72b6334@communitybridge.codeplex.com...

    [..] I thought
    there might be a way of creating a runtime 2010 compatible accde from
    within Access 2013 that wasn't obvious or perhaps removing some
    specific features which are causing the incompatibility.

    As the application has been built in A2010 there can't be any features inside that aren't compatible.
    The reason you get the error probably is that A2013 want's to build the bytecode (compiling the source code) but the ACCDE doesn't have the source code in it. So it fails.

    If you can't deliver the ACCDB (which also can be renamed to .ACCDE to fool the users) then it will not be possible to have the app running on A2013. To prevent users doing stuff they shouldn't do in Access2013 you also may just rename it to ACCDR. IIRC this will provoce Access to run the file same as you would start it with the /runtime parameter.

    Alternatively you can install the Access 2010 runtime to these computers beside the Access 2013 full version and start it using the full qualified path to MSACCESS.EXE of the A2010 version.

    Henry

    Thursday, February 21, 2013 7:23 AM
  • @Henry

    I would strongly advise against simply changing the extensions as described, although it does simulate runtime, all a user has to do is change the extension back to .accdb and can do a lot of damage to records in the BE. The purpose of an .accdr is to test applications in the Runtime environment before deploying. Also this solution will not work in the absence of an Access installation. Further the OP stated, "I have just migrated to to Access 2013 only to discover that an accde file created with Access 2013 will not open with Access runtime 2010". This points to the obvious that the OP will be using Access 2013 for upgrades and thus precludes the theory that Access 2013 is oKay to use this way.

    @ Dan

    Your best option is to continue developing in Access 2010 until the Runtime is available. Currently there is not a work around to having the full installation of Access 2013 on the User's machines.


    Chris Ward

    Thursday, February 21, 2013 8:17 AM
  • Sorry, I read wrong

    Of course the correct option would be to not migrate to A2010 until the A2013 runtime is available! I thought they already got A2013 and his A2010 app doesn't run in A2013.

    Thanks for the correction

    Henry

    Thursday, February 21, 2013 9:57 AM
  • It sounds like continuing to develop in Access 2010 is the way to go but just another question- Why does the Access 2013 accdb open with runtime 2010 while the Access 2013 accde doesn't?

    Dan

    Thursday, February 21, 2013 11:28 PM
  • My best guess is it doesn't. Is it possible that you only think it is running in Runtime 2010 but really Access is installed on that machine?

    If .accdb works does it work completely?

    How are you installing the Runtime drivers? or are you just changing the extension to .accdr?


    Chris Ward

    Friday, February 22, 2013 2:17 AM
  • Hi Dan

    When you edited the ACCDB in A2013 then some flags are set about the version that was used. Access 2010 now realizes that a newer version was used. A2010 doesn't know if the bytecode contains any functionality that A2010 didn't provide. So the byte code (the compilation of the canonical (AKA text) code) may not fit. Access 2010 therefore is forced to drop the bytecode (same as you do a /decompile manually) and rebuild it by compiling the canonical code.

    As the ACCDE doesn't contain any canonical code, only bytecode, Access fails doing so and tells you that the database is in a unknown format. If you start the ACCDB A2010 now can "decompile" your application and compile it before running the code. If there would be any functionality in it it doesn't know it now would give you a compilation error.

    It may be possible to open an A2013 ACCDE that doesn't contain any VBA code in A2010, but I'm not sure. I can't test it as I don't have A2013 installed (and refuse to install any O2013 products with the current licensing limitations).

    Henry

    • Proposed as answer by Dummy yoyo Thursday, February 28, 2013 4:42 AM
    • Marked as answer by Dummy yoyo Friday, March 1, 2013 5:04 AM
    Friday, February 22, 2013 3:56 AM
  • Hi Chris,

    115% running runtime 2010, installed from the downloaded installation executable on PC's with fresh installs of Windows 8.

    Its hard to be 100% sure, but the .accdb seems to work completely whereas the .accde will not open.

    This seems consistent with Henry's explanation.

    Dan


    Monday, February 25, 2013 12:49 AM
  • Hi Henry,

    Thanks for the response.  If my understanding is correct, if I recompile into an .accde using Access 2010 it should work fine, but as Chris suggested I should keep further development to Access 2010.

    I rushed into the purchase of Office 2013 without considering runtime (or the current licensing limitations)

    Dan

    Monday, February 25, 2013 12:59 AM