Viewing ACCDB with Access 2010 runtime when Access 2007 is installed - ms-access

I'm hoping someone can either tell me what I'm doing wrong correct my flawed understanding of how this works and explain why it's not possible.
I've been developing a fairly basic database/program for a client in Access. They have Office 2007, I have Office 2010. Initial test of creating a database in 2010 (in "2007" format) and opening the forms and data in Office 2007 showed no problems.
Fast forward 3 weeks. I've sent them a recent copy for approval and they can't open it. Unrecognised database format. Upon looking around, it seems Access 2007 format doesn't really mean anything in terms of backward compatibility (thanks M$). I COULD follow the seemingly standard answer and remove empty fields, calculated columns etc but really don't think it should be necessary.
I've installed the Access 2010 runtime on one of the target systems with the understanding that it would allow me to open the Access 2010-developed ACCBD. No luck. Office 2007 still launches, and "unrecognised database format".
Is the problem that Access 2007 is installed on the target system? Or am I perhaps misunderstanding what the Access runtime distribution is for? Basically, is there a way to still deploy a program/database developed in Access 2010 without a) installing (and purchasing about 60 licenses of) Office 2007, or b) stripping back the existing ACCDB.

I haven't worked enough with A2007 and A2010 to help with the problem of A2007 not being able to open the ACCDB in which you were working in with A2010. Your understanding of how the Access runtime is for is basically correct.
However when the client was executing the A2010 runtime against your ACCDB did they create a shortcut referencing the path to the A2010 runtime msaccess.exe and the path and file name of the ACCDB? Similar to
"C:\Program Files\Microsoft Office\OFFICE14\ART\MSACCESS.EXE" "Q:\1 access\NewsgroupAnswers.mdb"

You can save in 2007 format from 2010 but one little known issue is that when you make changes in a 2007 access file within 2010 you will not be able to open it in 2007 again. To fix this you must create a -new- 2007 file and import all items into the fresh one (just compact and repair will not work) and then this new file should be usable within 2007 once more.

Related

Compatibility between Access 2007 and Access 2010

Is it possible for Access 2007 to open Access 2010 databases? My problem is at work we use Access 2007 but I need to edit the database at home where I use Access 2010. After I edit and save in Access 2010 and I open the database with Access 2007, I get the error "Unrecognized Database Format"... Please advise.
Thanks!
As far as I know in theory 2007 and 2010 should use the same format. But in real life they are different! One problem might be the references in VBA (VBA Windows, Tools, References). If you take a database from a computer with Access 2007 and work on the database in Access 2010 then some of these references are automatically updated to the newer office version (i.e. Microsoft Office 14.0 Access database engine Object Library). And when you try to use this database in Access 2007 again it won’t work because the references are changed. You can easily fix this by changing the reference back to what it was in 2007. I.e. change “Microsoft Office 14.0 Access …” back to “Microsoft Office 13.0 Access …” on the PC with Access 2007. Then at least that problem is solved. This is one of the problems between 2007 and 2010 but there are others which IMHO sometimes matter and sometimes don’t create a problem.

Should I convert my Access 2002-2003 MDB to 2010 ACCDB?

I has a headache, my question is not pure programming question, I don't know is it belong to the Stackoverflow question. Or it belong to somewhere else such as SuperUser?
Current System :
Currently, we are using Windows XP + Access 2003, we have a database system written in Access 2003 MDB format, it separtated into 2 MDB files, one for database data, and one for front-end.
Lucky, The front-end do not contain Data Access Page. It contains:
Forms, Reports, Queries, Macros, VBA Modules.
We have not use any third party objects, all forms/report only use the default Microsoft controls, all VBA only use the default Microsoft libraries.
My headache background :
Due to the policy of my company computer support department, force all of our computer workstation to upgrade from Windows XP + Office 2003 to Windows 7 + Office 2010, they force us to upgrade because they will not support old system.
My headache :
Now I study what should I do if my system will be Windows 7 + Access 2010. I have study something by Google. Here is my summary so far:
Solution 1 : Convert the front-end MDB to ACCDB, keep the back-end MDB.
Since back-end data is important, I don't want to take risk to do conversion. I am very concern will the front-end converion safe and easy? and can I link the ACCDB to MDB(password protected)?
Solution 2 : Convert both 2 MDB to ACCDB.
Will it easy and data safe? I worry it will crash my data.
Solution 3 : Keep both 2 MDB remain MDB
I read from Microsoft site, 97 MDB cannot change design, ok my system is 2003 MDB, but I very doubtful on 2003 MDB will have problems too. Access 2010 introduce many new objects, on the others hand, maybe some 2003 objects is no longer work in 2010. I have read from Google, some people cannot save the form/report design in MDB, because 2010 silently add the new objects.
Would anyone give me suggestion and share experience?
You have the option to keep your database in mdb and run it in Access 2010. In 80% of the cases it will run well with any change. If you have issues, there is a page:
http://allenbrowne.com/Access2007.html
and also a utility tool to test your database:
http://allenbrowne.com/AppIssueChecker.html
Take a look at both and you will see how you can solve your dilemma.

Access 2010 dislikes my .mdb file

I apologize for this amateur question: this is my first experience with MSaccess.
When I try to start access 2010 by double-clicking my client's custdb.mdb, access 2010 complains:
Unrecognized database format 'custdb.mdb'
My client says only that "yeah, access 2010 is a problem."
Has anyone any idea what the problem might be and how I can fix it?
Alternatively, can anyone point me to a spot where I can download an earlier version of access, like maybe access2007. The MS download page insists I download Access2010.
Thanks!
I've always used MDB viewer for this purpose (http://www.alexnolan.net/software/mdb_viewer_plus.htm)
I then copy the data from that into MS Access 2010. It's a pretty horrible solution but it was the best I could come up with at the time!
This is probably a Jet 3 database. You can see that by opening the file with a hex viewer. Access 2010 doesn't handle Jet 3.

Error when running Access 2003 app in Access 2007

My organization is in the process of upgrading from Access 2003 to Access 2007. One of the apps I am tasked with upgrading is returning very odd errors while opening and closing forms that have nested forms. Have the events changed between Access 2003 and Access 2007 ? The events seem to be firing in a different order in 2007 then they did in 2003.
I haven't encountered the situation you described. I can't find anything which mentions changes to forms event model. Allen Browne has some information about Access 2007 compatibility with older versions:
http://allenbrowne.com/Access2007.html#Compatibility
The only problems I experienced so far with 2003 MDBs in Access 2007 were due to broken references. If you haven't already done so, double-check yours (Tools-> References) from the VB editor. While there, try Debug -> Compile to verify whether your code will compile without errors in Access 2007.
Tony Toews' Corrupt Microsoft Access MDBs FAQ could help fix or rule out odd behavior due to corruption:
http://www.granite.ab.ca/access/corruptmdbs.htm
If you've done those things, and still have problems with certain forms, it might be useful to create a new blank database and import those forms (and objects they depend on) into the new database.
Sorry to scatter-shot this thing. It might help if you could provide more detail about the nature of the errors you're getting.

What are the implications of running a Microsoft access database in both 2003 and 2007?

What are the implications of running a Microsoft Access Database in both 2003 and 2007?
Is there some class I forgot to take?
The program was originally built in office 2003, and then run in 2007. Issues seem to happen when the machine it is being run on has both 2003 and 2007 on it. The issue would also appear to stem from reference from the "Microsoft Access 12.0 Object Library" (or the "Microsoft Access 11.0 Object Library" in 2003). To see this, just look at the Tools: Refrences menu on the VBA screen.
The error's symptom is basically the code not be recognized (almost like it doesn’t recognize the programming language I’m using). It usually follows this with a box that says "The expression On Load you entered as the event property settings produced the following error: Object or class does not support the set of events". You can also replace “On Load” with “On Click” for buttons or “On Change” for text boxes.
I personally suspect that the computer is taking parts of the Microsoft Access 11.0/12.0 Object Library and then mixes the two into a useless VBA reference. What further confirms my suspicion is the box that pops up when going between the two that says "Configuring Microsoft Access" Another issue that further confirms my suspicion is it will run on whichever one it is opened on first (2007, for example) and then not run on the other (2003 continuing the example)
The only other issue is I have had to fix was changing the last part of the DoCmd.OpenForm ,,,,, acFormReadOnly (or acReadOnly, depending on how the machine seems to feel on that particular day - yes it would work with one, one day and then want me to switch it another) to simply locking the individual text boxes
Maybe it’s not quite coding, but I think it might be able to be fixed by coding.
Hopefully that’s enough for someone to come up with something.
Microsoft's official position is that installing multiple office versions on the same pc is not supported and not recommended, and Access 2007 seems to be designed to prove that to us!
That said, you can avoid most issues by doing the following:
1 - Splitting the db into a back end and front end. Place the back end (tables and relationships) in a network folder, and place a copy of the front end (all other objects) on each user's desktop.
2 - It's best to make the front end an mde to avoid the references shuffle every time you open the db in the other version of Access.
3 - Create a shortcut to open the front end with the desired version of Access so it's always opened with that version. (And remember to use the shortcut!) In the shortcut's target:
"path to Access 12 msaccess.exe" "path to db.mdb"
We have an MS-Acces application, developped with Access 2003 and used on either full or runtime version of Access 2003 and Access 2007 (Access 2007 Runtime being free, we are making a great use of it!). There is no particular issue except the references management. Our code analyses the Office version installed on the computer and automatically updates corresponding references (not only Access but also Excel, Outlook, Word, etc.: code is very tricky but of great interest!)
To my own knowledge, no major objects, properties or methods available in Office 2003/VBA were deprecated in Office 2007. Office 2003 code will then run with Access 2007 once these references issues solved. Some new objects were introduced in Office 2007 so I would not advise any developer to use it to develop code to be further used with Access 2003.
But the main & real issue of your question is: why should one run both Access versions on the same computer? This is what I'd do if I want to make sure to crash my apps. I think that if your objectives were to develop software, you should definitely find a better configuration for your machine!
In general, having multiple versions of Access installed on the one machine is unsupported and will result in the issues you are seeing with the object references.
If the database is authored in Access 2003, compiled to an .MDE, and then deployed onto a separate Windows instance running Access 2007, you should not have any significant issues (other than UI changes such as custom toolbars being thrown into the Add-Ins ribbon).
For testing on multiple versions of Access you will need some form of isolation between each version. I use multiple virtual machines to accomplish this. My primary Windows VM runnings Office 2007 and IE7 and I have a second VM which has Office 2003 and IE6 for testing.
Note that if you wish to simply use Word, Excel and Outlook 2007 with Access 2003, you can install Access 2003 first by itself and then do a custom install of Office 2007 and deselect Access 2007.