migrating from Access 97 to Access XP/2002

P

Paul James

I'm getting ready to convert a number of Access 97 databases to Access
XP/2002. Can anyone tell me if those conversions usually go well, or
whether there are any substantial problems with the conversion? And if
there are problems, whether I can do anything to eliminate them?

Thank you in advance.

Paul
 
G

GVaught

Sometimes things go very smoothly, sometimes you may experience some code
corruption. Before converting run a compile on each database, run a compact
and repair. This will ensure that each database has the best chance for
converting. Once you have compiled, compacted, and repaired. Make a copy for
safe keeping.

Run your convert. Once you successfully converted the 97 db's to 2002, open
the database holding down the shift key. This bypasses any startup forms and
checks. Enter the VB editor and check references; look for any 'Missing'
reference. If none, run a compile again. If you get errors, it means you are
missing a reference that is needed but wasn't shown as missing under
references.

Good luck.
 
W

Wayne Morgan

Following up on the References mentioned by Van, you will probably run into the DAO/ADO
problem. Access 97 uses DAO, by default 2000 & 2002 use ADO. You may have to set the
reference for DAO. To do so, open the code window (Alt+F11) and go to Tools|References.
See if there is a check next to Microsoft DAO 3.xx Object Library. If not, scroll down and
check the box next to the highest version of DAO listed (probably v3.60). Click Ok then go
back into the References dialog. You should notice that the item you just checked is up
near the top, at the bottom of the rest of the checked items. Access uses these in the
order they are listed, hence the up and down buttons to the right side of the list.

At this point you have a few choices. 1) Uncheck ADO (I don't recommend this one), 2)
Highlight DAO and use the Up button to place it above ADO (works as a quick fix), 3)
Change your DIM statements to explicitly differentiate between ADO and DAO (recommended).

Where the problem comes in is that ADO and DAO both have objects that have the same name;
for example, both have Recordset objects. If you DIM something as a Recordset and ADO is
listed above DAO then Access will try to use the ADO recordset instead of the DAO
recordset (once again, they are used in the order listed in the References window).

To explicitly DIM for DAO change your "As Recordset" commands to "As DAO.Recordset". You
may also need to do this for "As Database", "As QueryDef", "As Field", etc. You should be
able to use the Replace (Ctrl+H) function on the Edit menu in the code window to do this
throughout the database automatically.
 
P

Paul James

Thanks so much, GVaught.

I'll follow your suggestions and run the compile, compact and repair before
the conversion, and I'll check the References afterwards.

Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top