My Assistant
![]() ![]() |
|
|
Jul 13 2010, 12:01 PM
Post
#1
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Couldn't find a totally appropriate forum, so posted here.
I have a properly functioning Access 2007 database, but am now using Access 2010 to do the development. Access 2010 is brilliant, IMO. I have just imported that database into a blank 2007 database using Access 2010 and when I tried to open it in Access 2007, I got a message telling me the database format was not recognised. I also had this happen a number of times before when just modifying the database normally (once I think it included modifying the structure of a table in the back end). Does anyone know why this might be happening? I've not set up any 2010-specific stuff as far as I am aware and I certainly wouldn't expect importing a 2007 format database into a blank, new 2007 database to cause such problems. In case anyone is interested I got round the problem by opening the offending database in a hex editor and modifying the flag at offset 0x14 to "02 00 00 00" from the "03 01 00 00" that Access had gone and set. This shouldn't be necessary. If anyone else wants to try it, BACK UP YOUR DATABASE FIRST. Note that if you actually have set any 2010-specific stuff, altering said flag is likely to cause you some real problems, but, as I said, I am sure I haven't set anything to be 2010-specific. I do wish Microsoft had made a specific 2010 format rather than have 2007 format databases which Access 2007 sometimes can't open. Alan |
|
|
|
Jul 16 2010, 10:01 AM
Post
#2
|
|
|
UtterAccess VIP Posts: 2,335 From: West Michigan |
Not an answer. More of a commiseration.
I've had this problem and am seeing it increasingly on Access forums. It definitely happens when you add an A2010 feature to an A2007 accdb. For instance, if you add a navigation control to a form, you get this error when you try to open it again in A2007. Even if you delete the nav control. Even if you delete the whole form. However if you import all of the objects EXCEPT that form into a new A2007 accdb and save the form without the nav control as text (SaveAsText acForm...) and then load that form as text into the new database, it works. However, I took created an A2010 specific macro in A2010 and it did not cause the error when I opened the database in 2007. The Hex editor fix is really good information. Thanks. |
|
|
|
Jul 16 2010, 10:21 AM
Post
#3
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Hiya Roger,
The idea for the hex editor fix is not mine. I've not said who I got it from, but he knows the innards of Access much better than I do. I'd like not to cause him any grief if it all goes wrong. Alan |
|
|
|
Jul 16 2010, 10:25 AM
Post
#4
|
|
|
UtterAccess VIP Posts: 2,335 From: West Michigan |
I'm not thinking that it's a good solution over all. What I meant by "good information" is that something is causing this to be changed in 2010 and someone who knows the innards of Access better than I might be able to figure out what's happening from it.
|
|
|
|
Jul 22 2010, 06:39 AM
Post
#5
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Hmm... Seems to happen when I change the structure of one or more tables in the back end. Using the Linked Table Manager does not overcome the problem. Still needing to use the hex editor.
|
|
|
|
Jul 22 2010, 09:04 AM
Post
#6
|
|
|
UtterAccess VIP Posts: 2,335 From: West Michigan |
Should have gotten back to this. Sorry. Microsoft has a link that might help: http://msdn.microsoft.com/en-us/office/cc907897.aspx.
|
|
|
|
Jul 22 2010, 10:19 AM
Post
#7
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Thanks, Roger. I'd seen this list, but am glad you reminded me of it. Nothing in it seems directly relevant, e.g. the database sort order is "General - Legacy" and nothing has been done with regards to web databases, the database itself being a 2002/3 mdb file. However, I did set the back end encryption from within 2010 and wonder whether this has messed it up, though of course I can't use "Access 2010 Encryption Compliance" on an mdb file. FYI the restriction on linked table connection strings is not the cause either as the back end is on a mapped drive in its root directory.
One thing that does interest me from the list is the apparent ability of Access 2007 to use a form containing an Access 2010 navigation control (though its design has to be edited in Access 2010). If I've understood this correctly, it could be quite handy. Alan |
|
|
|
Jul 22 2010, 11:12 AM
Post
#8
|
|
|
UtterAccess VIP Posts: 2,335 From: West Michigan |
Is it possible you made some change inadvertantly?
Because it appears as if a change, once made, makes the database permanently unreadable (except with the hex editor hack). The only solution seems to be removing all the 2010 specific things and importing all the objects to a new database. |
|
|
|
Jul 22 2010, 01:14 PM
Post
#9
|
|
|
UtterAccess Addict Posts: 156 From: Cheshire, England |
Hi Alan,
It's OK, I'll 'fess up - It was I that gave you the hex editor hack since I didn't have much time to investigate your file when you contacted me. I just took another look at it for you (now I have a little more time on my hands), and noticed that you have this option set in your database: Backstage -> Options -> Current Database -> "Use the cache format that is compatible with Microsoft Access 2010 and later" (right at the bottom) I think that might be the source of your problem (IMG:style_emoticons/default/smile.gif) -- EDIT: Upon further testing, it seems that neither setting nor unsetting that 2010 option directly affects the flag value in the file header. However, that option being set does indicate that either you set it by accident, or as Roger said, perhaps you have inadvertantly used an Access 2010 only feature that has changed some of the file properties. Importing into a clean Access 07 file would probably be the best option. HTH Wayne This post has been edited by WaynePhillips: Jul 22 2010, 01:57 PM |
|
|
|
Jul 23 2010, 02:47 AM
Post
#10
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Hiya Wayne and Roger,
As suggested I'll do the import into a brand new Access 2007 database and ensure that the cache setting is not set to the Access 2010 compatible value. When I've run the database for a while, I'll let you know how I've got on. Of course, if it goes belly up again I'll also let you know. I note, however, that the Access 2010 compatible mode is the default so wouldn't that mean that everyone else creating Access 2007 databases from scratch in Access 2010 would have the same problem as I have? I thought the cache mode was something to be used if the database was published to Sharepoint. Anyway, I'll let you know how I get on. Alan |
|
|
|
Jul 23 2010, 03:03 AM
Post
#11
|
|
|
UtterAccess Addict Posts: 156 From: Cheshire, England |
Alan,
You're right - it probaby shouldn't matter. When I saw that option set, I thought it looked suspicious and figured that it might be causing the 2010-only flag to be set. But if that is the default for new 2010 databases, then you're probably right. I don't know then - couldn't find a way of replicating the behaviour here with your file. I know I don't have the backend file to test properly, but I set up a couple of my own link tables but nothing I did caused the 2010-flag to be set in the file header (apart from using a 2010-only feature, like applying the new encryption). Stumped. Hopefully importing into a clean file (both front and back ends) will solve the problem. Good luck! Cheers, Wayne |
|
|
|
Aug 4 2010, 07:14 AM
Post
#12
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
For people's general information, I thought you lot might be interested in a further development. I've just given my customer a fresh copy of the database front end which I have modified many times since all this started. This time, however, rather than Access 2007 saying the database was in an unrecognised format, it comes up with a proper warning that there are compatibility issues along with a link to an article on the MS web site. The only thing I changed since the previous version of the database, which was working fine in 2007, is that I changed some code in a standard module. This time the offset said "03 00 00 00" rather than "03 01 00 00". Changing it to "02 00 00 00" didn't get rid of the warning when it is run in 2007.
Have asked my customer to let me know if and when they hit any problems apart from the warning message at start up. Will try re-importing using Access 2007 (I used Access 2010 last time) and see what happens. |
|
|
|
Aug 11 2010, 08:14 AM
Post
#13
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Tried using Access 2007 and importing everything into a new database. Still get the same problem of when I then edit it in Access 2010 and give it to a customer to use, it sometimes comes up with the same error message.
Am now trying to supply the front end in .accde format since it is going to be used in a less secure environment. Now I get the same error message AND can't get found it by setting the offset with a hex editor. Does anyone know if you are meant to be able to create a .accde file in Access 2010 and use it in Access 2007? I'm running Access 2010 32-bit on my Windows 7 64-bit and the customer was trying to use the .accde file using Access 2007 (which is 32-bit) running on Windows 7 32-bit. If you can't create a .accde file under Access 2010 to run under Access 2007, then I'm going to have to set up a virtual machine and make the .accde using Access 2007 on that since I can't rely on the VBA project password since they are so easily broken. Hope they don't put Access 2010 on any of their machines! And Microsoft reckon it's all "Access 2007" database format! Grrrr... |
|
|
|
Aug 11 2010, 09:21 AM
Post
#14
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Seems you can't create a .accde (2007 format file) in Access 2010 which will run under Access 2007 according to the third post in this thread: http://social.technet.microsoft.com/Forums...c7-ea2b821dbe15
http://msdn.microsoft.com/en-us/office/cc907897.aspx is meant to detail anything which will stop an Access 2007 file created in Access 2010 from being opened in Access 2007 SP2, but there is no mention of anything to do with .accde files. Grrr... (again). |
|
|
|
Aug 11 2010, 09:45 AM
Post
#15
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Found this post elsewhere so will go a-hunting any empty cells. Will let you know how I get on.
http://social.technet.microsoft.com/Forums...5f-f4901f6766ee |
|
|
|
Oct 5 2010, 12:01 PM
Post
#16
|
|
|
New Member Posts: 1 |
Ok this is my first post so here goes.
I have also had a problem with an Access database programmed in 2010 but needing to work in 2007. When creating my form I inadvertently created two empty cells in a Layout Table. I immediately deleted them and went along my merry way. After that it would not open in 2007. After tearing my hair out going over the form item by item I stumbled upon this and other posts. I exported my offending form to text by Allen Browne's instructions http://allenbrowne.com/ser-47.html#SaveAsText. I searched the text file for references to EmptyCell, deleted all references and imported the form to a new database. It worked! Even though I had no "visible" empty cells they still showed up in the text file. Hope this helps. Mikel |
|
|
|
Nov 16 2010, 01:31 PM
Post
#17
|
|
|
UtterAccess Veteran Posts: 405 From: Norfolk, UK |
Hiya,
I've only just noticed your post. Sorry. I've exported my 80 forms and reports using SaveAsText (programmatically) and then manually opened each text file and searched for "Empty". I found three occurrences of it in a newly created report and have removed them. So it would appear that these are the cause of my latest problem with the database format and for that I thank you. Now all I need to do is work out what happened the previous dozen times or so. Dear Microsoft, This shouldn't be necessary. Alan |
|
|
|
Dec 24 2011, 05:58 AM
Post
#18
|
|
|
UtterAccess Addict Posts: 148 |
This is way late/after the fact, but after trying all of the other solutions without success, I made the hex hack 0x14 03 01 00 00 to 02 00 00 00. Nuclear or not, it seems to work. I wish I had done it first - I could have saved myself a couple days' work.
|
|
|
|
![]() ![]() |
|
Go to Top · Lo-Fi Version | Time is now: 19th June 2013 - 10:25 AM |