migrating from Access 97 to Access XP/2002

  • Thread starter Thread starter Paul James
  • Start date Start date
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
 
The conversion usually go well. You may have to change
the References a bit to to get the correct versions (e.g.
you may have the Word 97 Object Library which needs to be
change to Word XP Library) or you use 3rd-party Controls /
Add-Ins.

Make sure you keep back-up copies, Compile, Repair and
Compact of the A97 mdbs before the conversion and do the
same after the conversion.

HTH
Van T. Dinh
MVP (Access)
 
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.
 
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.
 
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
 
Back
Top