You can have different versions of Access running on different machines,
sharing the same data.
The front end should ideally be an MDE in the right version of Access for
the user.
The back end must be the oldest version in use, since it is a shared file,
and the A97 users cannot access the mdb if it is a later version.
In practice, this all works quite well. The A2002 users find it a little
slower than the A97 users, because the JET 4 calls have to be converted to
JET 3.5.
There are a couple of quirks to avoid. Make sure the A2002 users have
unchecked the box:
Tools | Options | Advanced | Open databases using record-level locking.
A97 does not support record-level locking (and it is a performance issue
anyway) so there is absolutely no point in enabling it when the back end is
an A97 mdb. If you don't uncheck the box, you may find that some operations
don't work. (Particularly, complex operations wrapped in a DAO transaction.)
The other issue is a performance one, where the SubdatasheetName property is
an issue. Normally you can set this property to [None], but since the
attached A97 tables don't have this property, trying to set it has no
effect. The workaround is to actually CreateProperty() on the A97 tables. It
is dbText type, and the value is the string "[None]". Once you create the
property that A2002 expects, it understands the setting, and so this
performance issue disappears. The basic idea is:
Currentdb.TableDefs("MyTable").CreateProperty("SubdatasheetName",
dbText, "[None]")
--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Reply to group, rather than allenbrowne at mvps dot org.
Max said:
If we have our database in Access 97 with many users connecting to the
data
from their own "front ends", can one of us upgrade to Access XP? If so,
can
that XP user upgrade only their own "front end" or the data as well? Can
the
97 users link to XP data? (This I think is No) Can the XP user link to 97
data? (This last I think is Yes)
Thanks in advance.