[AccessD] MDE question

John W. Colby jwcolby at colbyconsulting.com
Thu Aug 18 07:44:01 CDT 2005


Joe,

Compatibility between versions depends on two factors, the container version
used for the MDE and use of features specific to that version.  Let's
discuss this in two parts:

CONTAINER:  If your users use A97, A2K, AXP and A2003, it should be possible
to build the mde in and A97 container and all of these versions should be
able to open the thing and use it.  IIRC, there is a "great divide" between
A97 and anything after where if the container is opened in any version AFTER
A97 the user will be able to open (and use it) but not make changes to it,
i.e. it is opened read only.  For this reason alone it is convenient if you
can assure that all clients will use A2K or later.

If you use A2K and later, then it becomes a "simple" rule: Access can only
open the version it creates or earlier.  For example, A2K can only open A2K
containers, it cannot open AXP containers.  If you create an MDE using a
native AXP container then A2K users will get a "bad database format" error
message if they try to open it.  If you use an A2K container, then A2K and
all versions after will be able to open the container, and also to read /
write to it.

RULE:  Use only A2K containers to build databases that need to be
read/writeable by Access versions A2K and above.

VERSION SPECIFIC FEATURES:  Microsoft takes great care to try and ensure
backwards compatibility (No, I don't work for them).  For that reason,
virtually any feature used in an A97 database can be used in A2K or above.
However, Each version can and does add features.  Obviously in general these
features cannot be used by previous versions.  A good example of this is
raising events.  A97 could SINK events in classes which were raised by
objects passed in to the class.  However A97 cannot RAISE events of its own.
A2K and above can raise events.  Thus if your code raises events, that will
not be useable in A97.

RULE:  Discover whether you are using version specific capabilities and
either not use these capabilities or be prepared to limit your distribution
to versions of Access at least the version you are developing in or later.

I use AXP and A2K.  I don't know of any capabilities in AXP that are not
useable in A2K.  I think once you get out to A2003 you start to run into
things like XML import/export which is just not available in AXP and
previous versions.  Obviously if you were to develop in A2003 and you use
these features, even if you use an A2K container neither A2K nor AXP will
function correctly.

Hopefully this discussion has given you a better idea of how to approach
compatibility issues.  AFAIK, using an MDE in and of itself does not place
any restrictions on which version of Access can use the database.  The
container type and Version Specific Functionality will be the sticking
points.

John W. Colby
www.ColbyConsulting.com 

Contribute your unused CPU cycles to a good cause:
http://folding.stanford.edu/

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Joe Hecht
Sent: Thursday, August 18, 2005 12:54 AM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] MDE question


If I do an app in Access 2K3 and make an .mde out if it will older versions
of Access be able to use it?
 
I guess the question is what is the effect on backwards compatibility with
mde
 
Joe Hecht
Los Angeles CA
 
-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com






More information about the AccessD mailing list