Most of the A97 stuff works just the same in the later versions, with a few
exceptions and modifications. However, most of the newer stuff is either of
no benefit for data stored in Access tables, or else does not work properly
or is a hindrance to productivity/performance.
Some pointers:
1. Consider keeping your A97 as well as A2000. You can do that with a custom
install of Office 2000. If you have any difficulty getting them to co-exist,
see michka's article at:
http://www.trigeminal.com/usenet/usenet019.asp?1033
2. If a database will not convert, use A97 to decompile it first. While
Access is not running, enter this at the prompt. It's one line, and include
the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile "c:\My
Documents\MyDatabase.mdb"
3. If you use ActiveX controls (such as calendar), the version will probably
break when converted. Fix it through References on the Tools menu (from a
code window).
4. By default, A2000 and 2002 do not include a reference the DAO library, so
you need to set up a reference to Microsoft DAO 3.6. More info. on
references:
http://allenbrowne.com/ser-38.html
5. A2000/2002 do include a reference to the ADO library, which duplicates
objects such as Recordset, Field, Property. Either remove the ADO reference,
or explicitly disambiguate everywhere in your application, e.g.:
Dim rs As DAO.Recordset
6. The "Name AutoCorrect" has myriads of bugs and performance problems. Turn
it off immediately you create any A2000 database. More info:
http://allenbrowne.com/bug-03.html
7. There are new properties that give performance problems (such as
SubDataSheetName for tables), and some existing properties have had their
defaults changed in a way that could compromise your validation code (e.g.
AllowZeroLength for code). More info:
http://allenbrowne.com/bug-09.html
8. There are serious problems with some of the new features in JET 4, such
as the Decimal data type. More info:
http://allenbrowne.com/bug-08.html
9. Access 2000/2 is incapable of saving just the object you are changing
like
A97 does. That means concurrency problems (2 people cannot work in different
objects in the same mdb at once), and it takes longer to save if the mdb has
many objects.
10. Instead of the integrated development environment in A97, A2000 and
later have a version of Visual Basic cobbled together with the main Access
window. That's handy if you with with dual monitors, but does cause other
problems from minor annoyances with way the windows behave through to Access
getting completely confused about what goes with what if you have different
versions of Access open at the same time, thereby corrupting the database.
11. It is absolutely essential to have the service packs for A2000/2. The
bugs
are so many and so drastic that simply importing code from A97 and closing
your database is enough to corrupt it if you do not have the service
packs!!! Details:
http://support.microsoft.com/?id=304548
12. Many of the known bugs in A97 have not been fixed. Hundreds more were
introduced in A2000, and many of those remain unfixed in A2003. In our
experience, you can expect to waste time with a couple of new bugs you have
not come across before in every mdb you develop. Some of these are listed
here:
http://members.iinet.net.au/~allenbrowne/tips.html#flaws