none
Access 2010 to Access 2007 Unrecognized Database Format

    Question

  • I created a database for a customer in Access 2010. The default format I am using is Access 2007. I saved it as an accdb. The customer has Access 2007 SP2. When I try to open it on the customer's machine (and one of my machines that has Access 2007) I get "Unrecognized database format". I have tried removing all of the references I could to Office 2010 libraries to no avail. I created a blank db using the same settings and it opens fine.

    I was supposed to deliver this today, but I guess that's out. Any ideas?

     

    Here's an in depth update.

    To find out where the problem lies, I created a db on the target machine and moved it to my machine. I imported everything from the problem db to the blank one. And then moved that file back to the target machine and it failed to open.

    So I created another blank db on the target machine and moved it to my machine. I imported only the tables and moved the file back to the target. It opened fine.

    So I moved it back to my machine and imported the queries (tables still in db). I moved it back to the target machine and it opened OK.

    So I moved it back to my machine and imported the forms. I moved it back to the target machine and it failed to open. I then took it back to my machine, removed the forms, and moved it back to the target. It still failed to open.

    After much work I have determined that I can include everything (tables, queries, modules, and reports) but the forms and the db will open OK on the target machine.

    Is the problem with VBA?

    • Edited by fourfather Thursday, July 15, 2010 3:35 PM even more data
    Thursday, July 15, 2010 2:51 PM

Answers

  • After struggling with this issue for half a day or so, starting with a database created in 2007 and step-by-step edit this database in 2010, I found out that whenever I do Compact and Repair Database in Access 2010 it doesn't open anymore in Access 2007.

    Now I can manage to develop my database in Access 2010 as long as I am careful not to hit this Compact and Repair button. I should only do that in Access 2007. However sometimes Access 2010 crashes, automatically repairs the database and I end up with the database not opening in 2007.

    So my conclusion is, following the steps in http://msdn.microsoft.com/en-us/office/cc907897.aspx works as long as you don't Compact and Repair.

    Update (August 11):
    Besides using Compact and Repair in Access 2010, I found a problem with "Empty Cells" in Forms. From Access 2007, you can use Layouts to group your controls, either Tabular or Stacked. In Access 2010, these Layouts have a bit more functionality where for example you can have multiple columns in a Stacked Layout. Your controls can thus be grouped into a sort of Table. Not every Cell in this Layout Table needs to be filled, there can also be Empty Cells.

    One of my forms had Empty Cells and it actually prevented the database to open in Access 2007.

    Tuesday, August 03, 2010 9:41 AM

All replies

  • This is only a partial answer, I'm afraid, because I haven't mapped out the entire extent of it.  However, if you're developing an Access 2010 in the 2007 accdb format, if you use a feature that is unique to 2010, that database will be unrecognizable to Access 2007. 

    For instance, if I create a vanilla form in 2010, the database will open in 2007.  However, if in 2010 I add a navigation control, the database can't be opened again in 2007.  Even if I delete the navigation control in 2010.  Even if I delete the whole form.

    Repairing in 2010 doesn't seem to help and you can't Save As a previous version, because it still claims it's 2007 version. However, if I delete the form in 2010 and rebuild it without the navigation control, I can import all the objects into a new database and that one will open in 2007.

    As I said, I know this happens with the Navigation Control, but I'm not sure which other 2010 features this is true for.

    Maybe you can import the forms one at a time to see which one(s) is causing the trouble and re-build those making sure you don't use anything specific to 2010.


    -- Roger Carlson
    MS Access MVP 2006-2010
    www.rogersaccesslibrary.com
    Thursday, July 15, 2010 4:37 PM
  • Another thought, perhaps, is to save the database as an MDB (2003 format) and then open that file in 2007 and convert it to 2007.
    -- Roger Carlson
    MS Access MVP 2006-2010
    www.rogersaccesslibrary.com
    Thursday, July 15, 2010 4:50 PM
  • Set show system and hidden objects to true.  Look at the list of system tables in the database created on the 2010 machne vs the list of system tables in the database created on the 2007 machne.  You may have created some 2010 objects that 2007 doesn't understand.

    To get the forms into the database created on the 2007 machine:

    On the 2010 machine export all of the forms as text files (SaveAsText).
    You do this with all of the forms closed in a small VBA funtion that creates a recordset of the forms from the MSysObjects table and walking the recordset issuing a SaveAsText command for each form in the database.

    Put the following function in a module and run it from the immediate window.

    Public Function dumpforms()
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT [Name] FROM MSysObjects WHERE ([Type]=-32768);", dbOpenSnapshot, dbForwardOnly)
    Do While (Not rs.EOF)
    SaveAsText acForm, rs.Fields("Name").Value, Environ("Temp") & "\" & rs.Fields("Name").Value & ".txt"
    rs.MoveNext
    Loop
    End Function

    You can find them by typing %Temp% into the search window.

    Then copy them to the 2007 machine and try to bring them into the 2007 database on the 2007 machine using LoadFromText.

     

    Thursday, July 15, 2010 5:10 PM
  • When I tried to save it as an mdb it answered my question. The converter found an incompatibility with two of my forms. So I copied the code behind the forms to a txt file and recreated the forms in the blank db on the target machine. I then added the controls and the code back in. I imported all of the other forms, tables, queries, and modules and voila it worked!

    The code and the controls are exactly alike. I cannot tell what the issue is.

    Thursday, July 15, 2010 5:13 PM
  • When I tried to save it as an mdb it answered my question. The converter found an incompatibility with two of my forms. So I copied the code behind the forms to a txt file and recreated the forms in the blank db on the target machine. I then added the controls and the code back in. I imported all of the other forms, tables, queries, and modules and voila it worked!

    The code and the controls are exactly alike. I cannot tell what the issue is.


    Export the forms from the 2010 machine as text and do the same thing on the 2007 machine.  Then compare them to see if there is a difference in properties.  It would be helpfull to know what specifically caused the problem.

    There are compatibily problems in converting a 2007 accdb to a 2007 mdb since certain objects are not available in an mdb.  It is possible that only one of the forms was not compatible with Access 2007.  The other may only be incompatible with an mdb structure.

    Thursday, July 15, 2010 5:53 PM
  • You have some good help and suggestions here. I would also refer to this page, as it outlines a good deal of issues when moving between 2010 and 2007

     

    Backward Compatibility between Access 2010 and Access 2007

    http://msdn.microsoft.com/en-us/office/cc907897.aspx

     

    Albert D. Kallal  (Access MVP)

    Edmonton, Alberta Canada

    Saturday, July 17, 2010 8:28 PM
  • Hello,

    How this issue is going on in your side? If you have any concern for this issue, please feel free to follow up.

    Best regards,
    Bessie


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Friday, July 23, 2010 6:58 AM
  • After struggling with this issue for half a day or so, starting with a database created in 2007 and step-by-step edit this database in 2010, I found out that whenever I do Compact and Repair Database in Access 2010 it doesn't open anymore in Access 2007.

    Now I can manage to develop my database in Access 2010 as long as I am careful not to hit this Compact and Repair button. I should only do that in Access 2007. However sometimes Access 2010 crashes, automatically repairs the database and I end up with the database not opening in 2007.

    So my conclusion is, following the steps in http://msdn.microsoft.com/en-us/office/cc907897.aspx works as long as you don't Compact and Repair.

    Update (August 11):
    Besides using Compact and Repair in Access 2010, I found a problem with "Empty Cells" in Forms. From Access 2007, you can use Layouts to group your controls, either Tabular or Stacked. In Access 2010, these Layouts have a bit more functionality where for example you can have multiple columns in a Stacked Layout. Your controls can thus be grouped into a sort of Table. Not every Cell in this Layout Table needs to be filled, there can also be Empty Cells.

    One of my forms had Empty Cells and it actually prevented the database to open in Access 2007.

    Tuesday, August 03, 2010 9:41 AM
  • Boy is this one of those "now you tell me..." items.

    I don't think I've intentionally created any of the things listed in the MSKB item except I did encrypt it in 2010. I decrypt it and still get "unrecognized format" back in 2007.

    Apparently more spelunking to do here.

    Wednesday, August 25, 2010 5:13 AM
  • Importing everything into a new .accdb from the .accdb (Access2010) and then putting the open form and password back on it from a 2007 copy seems to have worked around the problem. (Note that decrypting the file in Access2010 did NOT restore it to usability with Access2007.)

    I'm really disappointed that Access2010 will break compatibility with Access07 AND NOT GIVE A HINT and leave NO WAY to undo that in the original file.

    Thursday, August 26, 2010 1:30 AM
  • Another solution, or rather a way to avoid the issue altogether, is to leave the database in MDB (2003) format.  That way, you *can't* add 2010 features that will break it in 2007.  Of course, that means you can't use any of the 2007 or 2010 features, but there aren't too many of these that I can't live without anyway.
    -- Roger Carlson
    MS Access MVP 2006-2010
    www.rogersaccesslibrary.com
    Thursday, August 26, 2010 12:38 PM
  • I started this thread back in July but I guess I haven't learned my lesson yet. The empty cell issue caught me this week and has cost me big time. I guess the mantra going forward is only mdb for me.

    I'm going to try exporting all of the forms as text as suggested and see if I can get this one back to an mdb. I also had two reports that were "rejected" by 2007 and I can't figure out why.

    Thanks for all of your input. It has been helpful.

    Thursday, September 09, 2010 1:50 AM
  • Shouldn't someone at Microsoft be shot - not necessarily in public, of course - for leaving us with this messy problem?  Ideally, Access 2007 should read Access 2010 DBs transparently.  Second best would be the ability to save the new version as an Access 2007 DB.  The position we're in is not even third best, and it's very far from clear from the help files.  For example, I typed in "Unrecognised database format" and was advised to check my spelling!

    Peter B

    Thursday, September 16, 2010 3:35 PM
  • Shouldn't someone at Microsoft be shot - not necessarily in public, of course - for leaving us with this messy problem?  Ideally, Access 2007 should read Access 2010 DBs transparently.  Second best would be the ability to save the new version as an Access 2007 DB.  The position we're in is not even third best, and it's very far from clear from the help files.  For example, I typed in "Unrecognised database format" and was advised to check my spelling!

    Peter B


    I haven't installed Access 2010 but the help files might have asked you to check your spelling because you misspelled

    "Unrecognized".

    • Proposed as answer by saberman Saturday, January 14, 2012 12:50 AM
    Wednesday, October 27, 2010 3:09 PM
  • I use General-Legacy and did not encrypt and still cannot open the database.  Any suggestions?

    PeterBeckett you're correct someone should be shot at microsoft but i wote in public.  One would think that if you are saving in Access 2007 format it would work in 2007.  

    Jesse_Work

    You have given yourself away; I can tell instantly that you’re American. 

    Just a quick “FYI” (another dead giveaway of an American forum writer, the incessant use of acronyms) the country that brought you your language ends unrecognized and a litany of other which your forefathers inexplicably “bastardised” to end in ize with ise.  Believe it or not, a person on a forum who spells colour and favourite with a “u” is not illiterate or uneducated, they are just well a person who doesn’t think a building that is 50 years old is…wow, like, ya know, “rrrrrrrrrrrreally old”.  In other words, they’re British.  Feel free to “Americanise” your spelling just be careful in places like utter access they might think “ya know like” you don’t know how to spell. 

    (Jesse_Work Please take this in the manner intended it was merely an attempt at “humour”)

     

    "BTW" Another dead giveaway that the product is from Microsoft; Warnings are displayed in the system setting for language (British) but Access help is in American English.
    tjf
    Thursday, October 28, 2010 11:55 PM
  • I Agree with Jesse, shoot em. I used to like working with Access, it saves a lot of time over coding front ends manually. I just finished a project in 2010, found out they had 2007 on some computers. I thought, 'Just save it in 2007 format' just like we always have done in the past. WRONG! I have lost more time cleaning up this mess and re-writing he application, than I spent writing it in the first place. Shoot em and do it in public!
    Tuesday, November 02, 2010 6:34 PM
  • Hi

    There does seem to be a serious compatibility issue between Access 2010 and Access 2007 that goes beyond just what is outlined in the link http://msdn.microsoft.com/en-us/office/cc907897.aspx

    If you use the SaveAsText (an undocumented VBA command) VBA command on an Access 2010 form you will see in the code a lot of properties that are not recognised by Access 2007 such as 'PublishOption, BorderThemeColorIndex' and so on. If you delete all of these properties and then use LoadAsText in an Access 2007 the form can be loaded correctly. Unfortunately there are a lot of these properties which makes it harder to clean the code to make it compatible with 2007.

    The suggestion that the file format between 2007 and 2010 is the same is not valid from a user experience point of view. Hopefully Microsoft will recognise this and put a fix in place in the next SP

    Kind regards
    Justin

    Tuesday, February 22, 2011 10:30 AM
  • I (hopefully) may have found a VERY simple answer to this problem.

    Background:I have had it on 2 database applications that were developed in 2010 but deployed to 2007 clients. I determined that in one of these apps (the smaller, by creating a new 2010 db and then importing each form singularly from the original 2010 db and then opening then NEW db up in 2007, repeating this cylce until it "broke") , thus finding that it was caused by ONE form that STILL had the "Layout View" being applied to it. By selecting ALL fields and selcecting "Remove Layout", the problem went away and I was then able to load the same app up in 2007 without any additional changes.

    This was fine, but for the other app which was MUICH larger I could see that it would take some time to repeatet the abobve (singular import) process.

    I then accidently happened to notice that in the original 2010 db for both apps, under Options/Current Database, there was a check box stating "Allow Layout View" which was checked ON, and thought that "IF" it was layout view forms that had caused my original problem, maybe I would turn this OFF and thus NEVER get any newly created form created IN Layout View (i.e. with all the added cells that 2010 places onto the form).

    I checked OFF this option in BOTH apps, and then (and maybe THIS is the GOOD NEWS for others), .... without ANY changes whatsoever to the larger db that had had the "unrecognised" problem, I then opened it up in 2007 and IT WORKED PERFECTLY !!!! 

    Thus, ONE "Option" (i.e. "Allow Layout View" being checked OFF fixed my problem in an instant .....

    To double-check, I went to my laptop where the larger db was having the same problem, ran the app in 2010 (worked OK), ran it in 2007 (Failed), went back to 2010 and turned that option OFF, went back to 2007 and ran it and (again) it worked fine (with NO OTHER change having been made.

    Maybe this will work for you and others .......

    Thursday, April 21, 2011 1:33 AM
  • Thanks Archery47.  I've been following this thread closely because I was severely bitten by this. 

    Unfortunately, the trick you mentioned above did not work for me and I have to start over and will  stick with the 2007 product.

    As I novice just learning my way around Access, I did not need this additional headache, that's for sure!  I did all my development on Access 2010, led to believe it was compatible with 2007.  However, the application will be running on Access 2007 clients 95% of the time.  Even the title bar says [Access 2007].  At least, I would have expected some warnings as in other Office products.  I sure wish there would have been a pop-up warning or something like "You appear to be using an Access 2007 database but have tried to use a control or feature only compatible with Access 2010.  You may continue, but be warned the database will no longer function in Access 2007."  That would have stopped me in my tracks - before investing so much time.

     

    Sunday, April 24, 2011 1:43 AM
  • Nope that is the correct spelling for English in England.
    Thursday, December 01, 2011 1:21 PM
  • Same error but with a 2010 db with just tables in it - no forms, queries, macros, code etc...

    BANG!

    Tuesday, January 10, 2012 2:03 PM
  • I've found that de-compiling and re-compiling (in vb) allows you to identify the forms that may have errors and therefore 2007 incompatibility.

    Steps:

    Start Menu -> Run -> msaccess /decompile

    Choose the accdb in question

    Open VB and Compile (from the Debug menu).

    Thursday, January 12, 2012 2:23 AM
  • I have a similar more complex issue.

    The IT group temporarily installed Outlook 2010 (and with it Access) Opened the db 1 time and it worked as usual just looked a little different. did not create any records, no programing, no changes.

    The machine was rolled back to 2007 and now I get the dreaded message "Unrecognized database format".

    I can open on other machines with 2010 but not any with 2007.

    I can not upgrade to 2010 yet. Is there a way to extract other than using a 2010 version of access?


    Chris Ward
    Friday, January 13, 2012 10:06 PM
  • I am not able to create and add new reports in Access 2010 and have them display in 2007. I get the "Unrecognized Database Format" message. Will this issue go away if all our computers are updated to Access 2010? Or should i just make changes using Access 2007?  

    Thanks.

    Monday, January 23, 2012 3:31 PM
  • If all of the machines have Access 2010 installed on them the unrecognized database format problem will go away.  The error occurs because Access 2010 objects (i.e. forms, reports, etc.) have some new properties that Access 2007 does not know how to handle.

    If you must use the same database between Access 2007 and 2010 then do all maintenance work in Access 2007.


    http://www.saberman.com
    Tuesday, January 24, 2012 3:53 AM
  • Found a easy solution. Export the data in XML in 2010 , open a new DB in 2007 and import the XML. Worked great. Depending on the size of the db can be time consuming but it is a option. Took less time to export & import than I spent on trying to find a solution.
    Thursday, February 16, 2012 10:20 PM
  • You have some good help and suggestions here. I would also refer to this page, as it outlines a good deal of issues when moving between 2010 and 2007

    Backward Compatibility between Access 2010 and Access 2007

    http://msdn.microsoft.com/en-us/office/cc907897.aspx

    Albert D. Kallal  (Access MVP)

    Edmonton, Alberta Canada


    I hit this issue with my Access 2010 database but resolved it (a workaround) thanks to info in Albert’s link above.

    My 2010 database opened OK in Access 2007 until I did a Compact & Repair on the 2010 original and then got the Unrecognized Database Format error when trying to open it in 2007.

    The workaround was to change the ‘New Database Sort Order’ from ‘General’ to one compatible with 2007:

    • Open the database in Access 2010
    • Click on the File tab and select Options
    • On the General tab you’ll see a combo for ‘New Database Sort Order’
    • I had this set to ‘General’ – I changed it to ‘General - Legacy’
    • Click OK and you are prompted to close/re-open the database for the change to take effect

    This solved the problem. After doing a Compact & Repair and my database now works OK in 2007

    Note I have SP3 installed for Office 2007 but the info in the link says this workaround will work for SP2 also.

    This solved my problem but it won’t necessarily be the issue for all as there are other things that can cause the Unrecognized Database Format error.
    Tuesday, May 01, 2012 9:46 AM
  • Hi all.

    I spent hours on development of a database for someone who uses access (fancy looking toy for secretaries, not for real DATABASE admins and users). Now I realised that the person cannot open it, because I cannot save it in backward compatible format. What I write below is a technical workaround of the problem mentioned in this topic.

    I abandoned microsoft products long time ago not having nerves for them. This case here is a classic lack of compatibility between microsoft branded products, in this particular case: between two close versions of the same product.

    I wouldn't think about their newly advertised Office 365 in any other way, as a big security blow as soon as any so called by microsoft 'hacker' gets an access to their cloud users (very popular practice in recent times).

    I am not trying to advocate here but from technical point of view, it is best to move towards vendors that don't show that much negligence towards their customers.

    I use MySQL, because it's RELIABLE and never failed me. As a fancy looking GUI you can use BASE program from openoffice.org ( http://www.openoffice.org/product/index.html ), it will allow you to play with forms and macros as you used to using Access. The difference is that with release of new version of BASE, you will be able to use your database on a computers using both: older and newer versions of openoffice. Problem described in this topic simply doesn't exist there.

    If you really want to spend money, just buy support from MySQL (ORACLE) or having less money, invest in navicat for mysql. Anyway it is a cross platform solution and as a database admin I was thanked countless number of times for this choice.

    Have a nice day!

    Maciej

    Friday, August 24, 2012 2:35 PM
  • Hi Justin (sorry to go back in the thread).

    I'm running in teh same problems. I took over support for an accdb. I added a little procedure in a module and went back to the client to install the new frontend.

    Only to find out that the client has Access 2007 and that it does make a difference.
    I have tried several options with the previous version from the client  (trying to import the objects into the 2007 database), but the error (unrecogni-z/s-ed file format) remains. At the clients location I could not quickly figure out if there is also an export functionality (rather than import, which requires me to open the 2007-db).

    Your option as mentioned above seems the most plausible to give a solution for sure (I will also go to the client next time with that layout option disabled, but I do need a backup scenario).

    Can you elaborate a bit on the properties that are not supported in 2007 ? I did remove the PublishOption, BorderThemeColorIndex, but I am looking for those under 'and so on'.

    Can anybody confirm for which objects the incompatibility applies? 
    I don't have tables (they are in a backend), I guess modules should be fine.

    Does that mean I can focus on the forms and reports?

    Thank you all for any guidance on the questions.

    Monday, February 03, 2014 1:03 PM
  •   I've used Access for almost 20 years; it was a very productive environment; MS is killing it; the same fools that brought us Win8  have ruined it ; the issue in this thread has likely cost me a customer. 

    17 hours 24 minutes ago