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

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.

Related

View a replicated Access 2000 database in Access 2016

I've an old replicated Access 2000 database. I want to get to the code and some of the forms as I'd like to revive parts of it, and also see how I dealt with things back then.
I have the Access 2000 CD, but it was an upgrade from Access 97 and the Access 97 CD is too damaged now to load. Access 2016, which I have now, won't open replicated databases.
Is there any way I can open or convert the .mdb file? I only need to view it in design mode.
You'll need Access 2010 or lower to open it.
If the database doesn't contain confidential data, you could upload it to a file hoster and some good soul might convert it for you.
If it does, you will have to go scouting for a used copy of an old version, I'm afraid.

What constitutes a design change in MS Access 2013?

I have a Access 2003 and lower databases. The company i work for is currently using MS Office 2007 and Access 2003 instead of Access 2007 because of issues with library references. We're currently converting the Access 2003 databases to Access 2007, but some users are already being upgraded to MS Office 2013 and Access 2013.
I am aware that Access will only change library references when design changes are made in Access 2013 which is not something we want because it will cause issues for users still using Access 2007.
My question is what constitutes a design change? For example we have some forms who's labels change based on user selection, would that be considered a design change? We do not want Access 2013 users to inadvertently make design changes.
The only way to avoid users making inadvertent changes would be to either use the Runtime instead of a full version of Access on their machine or force the database to open in Runtime mode by changing the your front-end's database extension to accdr.
Now, if your aplication relies on the standard office references, you should be ok (for most of them) as Access will use the right one for the version you have.
Any any rate, the fact that you are worried about users making inadvertent modification seems to imply that your users are sharing a front-end, which is not the recommended way to deploy an Access application: the application should be split.
Database containing the shared tables of the application remain on a network share. The Front-end, containing the UI and business code, should be deployed on the local machine of each user. The front-end only contain links to the tables in the backend.
This is a safe multi-user design since only data is shared, not the UI state.
Now if you have that design, if would not matter too much if users made accidental updates since that would only be local to their machine.
In that configuration, you can also keep sharing a specific mdb database with various front-ends for Access 2003, 2007, 2013 being deployed for different users.
Deployment is the hard part since you want that to happen automatically when there is a new version of the front-end available. There are tools like Auto FE Updater that can help.

Viewing ACCDB with Access 2010 runtime when Access 2007 is installed

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.

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.

Updating Access 2003 to 2007, potential issues?

I've written an Access 2003 application to handle internal things at my company over the past couple years and we are talking about upgrading all of our computers to Office 2007 which means Access will be updated. Is this going to cause a problem for me?
Allen Browne, Microsoft access MVP, has written a comprehensive article on Microsoft Access 2007 and upgrading:
Converting to Access 2007
Here is an article by Microsoft:
Transitioning Your Existing Access Applications to Access 2007
In case you are not aware, it is possible to try 2007 for free. I would not recommend trying on a PC that you use regularly for other Access work, it is not impossible, but things get awkward.
If you wish to run your 2003 version on 2007, make sure that you create an mde, otherwise you will run into problems. Access 2007 treats several controls in a different way, for example, textboxes with date fields get calendars attached. You will also need to check your references. I also recommend that you self-certify your projects. Other than that, I have seen posts on a number of problems, but these are usually specific to the poster.
We just recently went through this.
One issue we found was converting reports to Excel. They took that functionality out of Access, so if you do that you'll need to convert it programmatically using the Excel COM object model. I ended up writing a function to replace the old functionality but you still have a bit of juggling to do.