Can Access 2007 develop a 2003 app to run on access 2003 runtime

R

RobGMiller

Need to work on an existing 2003 access mdb with 2007 and produce a
application MDE that runs on 2003 runtime.

I have done some work on it and it seems to function ok although I could not
see an obvious way to produce an MDE which is also a requirement.

The MDE issue can be managed. However, I'd like to know if there are
limtations before I get started.

Thanks in advance...
 
K

Ken Snell \(MVP\)

You cannot create an .mde in 2003 format from ACCESS 2007. Only ACCESS 2003
can do that. However, you can open/edit/modify a 2003 .mdb using ACCESS
2007.
 
J

Jeff Conrad [MSFT]

Slight correction there Ken.

You *can* actually create a 2003 MDE in Access 2007 if you use the 2003 format.

.....however, even Access 2003 won't be able to run it, only 2007.
;-)

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com
 
A

Arno R

Jeff Conrad said:
Slight correction there Ken.

You *can* actually create a 2003 MDE in Access 2007 if you use the 2003 format.

....however, even Access 2003 won't be able to run it, only 2007.
;-)

Then the behavior of A2007 regarding mde's is different from all earlier versions ??
Mde's could only be created from, or with, the specific version.

Seems a bit odd to me to be able to create a 2003 mde, that *not* seems to *be* a 2003 mde.
==> If it was a 2003 mde, Access 2003 would be able to run it, no ??

Seem like a mis-feature to me... or am I missing something ??

Arno R
 
K

Ken Snell \(MVP\)

Thanks; haven't become completely conversant in 2007 yet.... < s, >

--

Ken Snell
<MS ACCESS MVP>
 
J

Jeff Conrad [MSFT]

in message:

Hi Arno,

Comments in-line...
Then the behavior of A2007 regarding mde's is different from all earlier versions ??
Mde's could only be created from, or with, the specific version.

That's correct, however, you have to remember that this is the first version to support two
*radically* different file formats.
Seems a bit odd to me to be able to create a 2003 mde, that *not* seems to *be* a 2003 mde.
==> If it was a 2003 mde, Access 2003 would be able to run it, no ??

You would think perhaps ir should, but that is not the case.
Seem like a mis-feature to me... or am I missing something ??

No, not a mis-feature at all. Allow me to quote some comments from a work colleague:

"I believe this mostly has to do with the compiled version of the Access type library. For example,
if you create the MDE with Access 2007, the VBA project contains a reference to the Access 12.0
object model. Since object models tend to change from version to version, running code compiled in a
future version in a previous version will likely lead to a crash as functions are called that don't
exist in the previous versions."

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com
 
R

RobGMiller

Thanks for all your comments.

The MDE is really not an issue. I will create it with 2003. I am just trying
to confirm, if possible, that a 2003 app modified in 2007 has no known issues
when converting it to 2003 MDE with Access 2003.
 
A

Arno R

Jeff Conrad said:
in message:

Hi Arno,

Comments in-line...


That's correct, however, you have to remember that this is the first version to support two
*radically* different file formats.


You would think perhaps ir should, but that is not the case.


No, not a mis-feature at all. Allow me to quote some comments from a work colleague:

"I believe this mostly has to do with the compiled version of the Access type library. For example,
if you create the MDE with Access 2007, the VBA project contains a reference to the Access 12.0
object model. Since object models tend to change from version to version, running code compiled in a
future version in a previous version will likely lead to a crash as functions are called that don't
exist in the previous versions."

Hi Jeff,

Thanks for the comments, this means that the following is true... ??
"When there are no 'not-yet-existing-in-older-version-functions' used then there are no problems running the mde in A2003."

But I am afraid you are going to tell me that this is not true... ;-)

Arno R
 
J

Jeff Conrad [MSFT]

in message:

Hi Arno,
Thanks for the comments, this means that the following is true... ??
"When there are no 'not-yet-existing-in-older-version-functions' used
then there are no problems running the mde in A2003."
But I am afraid you are going to tell me that this is not true... ;-)

You're correct, the MDE file compiled in 2007 simply won't run in Access 2003 no matter if you use
only 2003 and pre-2003 functions.

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com
 
J

Jeff Conrad [MSFT]

Hi Arno,
We are talking about a A2003 mde, right ???

That's correct.
We are talking about A2007 that has the 'feature' of being able to compile a A2003 mde, right ???

That's correct.
And you say that it simply won't run ....
Then....what's the use ???

I'm saying it won't run in versions *previous* to Access 2007.
It will still run just fine in Access 2007.
And you say this is not a mis-feature at all ??

Actually no, I didn't say it was mis-feature at all (if you re-read my comments).
I'd call it more an interesting quirk and nothing more.
Well, I lost you on this Jeff...

No, I'm following along just fine.
I am not starting a dispute about this, but let's call it a "feature that we can not use" ??

Just a different way of looking at things. No previous version of Access has ever been able to
create an MDE that will run in a previous version; Access 2007 is no different in that regard. This
latest version just has an interesting quirk to be able to create two types of compiled files - MDE
and ACCDE.

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com
 
T

Tony Toews [MVP]

RobGMiller said:
The MDE is really not an issue. I will create it with 2003. I am just trying
to confirm, if possible, that a 2003 app modified in 2007 has no known issues
when converting it to 2003 MDE with Access 2003.

We can't guarantee anything. However I work in A2000 format MDBs in A2003. And then
create the MDE in A2000 and it works fine.

However I would think that it would work. You might need to do a decompile in A2003
to clean things up occasionaly. You might have to do a Save As to save the MDB in
A2000 format to really clean things up but there aren't any significant features in
A2002/2003. Hmm, other than the printer object which I've never used.

Worst case scenario is that you might have to do a SaveAsText for all your forms,
reports and modules and import them again.

Corrupt Objects within a Corrupt Microsoft Access MDB
http://www.granite.ab.ca/access/corruption/corruptobjects.htm

The little documented SaveAsText and LoadFromText may help if an object is corrupted
or otherwise behaving weirdly.
At the debug/immediate window type:
Application.SaveAsText acForm,"MyForm","c:\form.txt
You can load the file into a new MDB.
Application.LoadFromText acForm,"MyForm","c:\from.txt"

Sample code at http://www.datastrat.com/Code/DocDatabase.txt for saving all objects
in an MDB.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
A

Arno R

Jeff Conrad said:
Hi Arno,


That's correct.


That's correct.


I'm saying it won't run in versions *previous* to Access 2007.
It will still run just fine in Access 2007.


Actually no, I didn't say it was mis-feature at all (if you re-read my comments).
I'd call it more an interesting quirk and nothing more.


No, I'm following along just fine.


Just a different way of looking at things. No previous version of Access has ever been able to
create an MDE that will run in a previous version; Access 2007 is no different in that regard. This
latest version just has an interesting quirk to be able to create two types of compiled files - MDE
and ACCDE.

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com

Thanks Jeff.

BTW: Sorry that I posted my previous question with the wrong account ...
Busy these days switching accounts ...

Arno R
 
J

Jeff Conrad [MSFT]

J

Jeff Conrad [MSFT]

in message:

Hi Arno,
We are talking about a A2003 mde, right ???
We are talking about A2007 that has the 'feature'
of being able to compile a A2003 mde, right ???
And you say that it simply won't run ....
Then....what's the use ???
And you say this is not a mis-feature at all ??
Well, I lost you on this Jeff...
I am not starting a dispute about this, but let's call it a "feature that
we can not use" ??

On the drive in this morning I thought of something very interesting. It's
quite possible the development teams *did* intend to make this feature (I
can't say for certain; just speculating here).

With Access 2007 you have more flexibility than any previous version.
Consider these cases:
1. With Access 2007 you can create a 2000 format that will work with users
running 2000. You won't be able to create an MDE in that version, but you
can still create an MDB that will run.

2. With Access 2007 you can create a 2002-2003 format that will work with
users running 2002. You won't be able to create an MDE in that version, but
you can still create an MDB that will run.

3. With Access 2007 you can create a 2003 format that will work with users
running 2003. You won't be able to create an MDE in that version **that will
run in 2003**, but you can still create an MDB that will run.

4. With Access 2007 you can create a 2007 format ACCDB or ACCDE that users
with 2007 can run.

5. Here's the big one. What if you still want to develop in Access 2007, but
use some of the depracated features like User Level Security or Replication?
You can! Use Access 2007 to develop a 2003 format MDB with those features
and then create a MDE when you're done. The 2007 Runtime will be free so
it's possible you could distribute the 2007 Runtime to your users and give
then the 2003 MDE file to run even if they already have Access 2003! I'll
have to qualify that statement that I'm not positive the 2007 Runtime can
run 2003 format MDEs created in Access 2007. (I haven't seen any information
one way or the other.) If it *can*, that would be pretty slick in my opinion
because of all the choices you have as a developer.

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com
 
A

Arno R

Jeff Conrad said:
3. With Access 2007 you can create a 2003 format that will work with users
running 2003. You won't be able to create an MDE in that version **that will
run in 2003**, but you can still create an MDB that will run.
5. Here's the big one. What if you still want to develop in Access 2007, but
use some of the depracated features like User Level Security or Replication?
You can! Use Access 2007 to develop a 2003 format MDB with those features
and then create a MDE when you're done. The 2007 Runtime will be free so
it's possible you could distribute the 2007 Runtime to your users and give
then the 2003 MDE file to run even if they already have Access 2003! I'll
have to qualify that statement that I'm not positive the 2007 Runtime can
run 2003 format MDEs created in Access 2007. (I haven't seen any information
one way or the other.) If it *can*, that would be pretty slick in my opinion
because of all the choices you have as a developer.

Hi Jeff,
A 2003 mde-file that *won't* run in A2003 still seems very strange to me.
IMO such a 'thing' should not be called a 2003 mde...

Please re-read what you say here (point 3 and 5)
How can I *ever* explain that to my mother-in-law ... ??

Arno R
 
J

Jeff Conrad [MSFT]

Hi Arno,

Point 3 is no different from any other verison of Access. With Access 2003 I
can create a 2000 format MDB that can run on systems with only 2000
installed. With 2003 I cannot, however, create a 2000 format MDE that runs
on 2000. Same goes for all previous versions.

Point 5 is a big advantage for Access 2007. You can now create multiple
MDE/ACCDE on different formats. If you *have* to use User Level Security
while developing in 2007, for instance, you can create the file in 2003
format and add in all the elements you need. You can then create an MDE file
from it and have users with Access 2007 run the file. In a sense, we've had
a similar capability before with creating an MDE in a lower version and have
it run in a later version (like creating a 2000 MDE in 2000 and having it
run in later versions without issue). If the free 2007 runtime allows you to
run a 2003 format MDE created in 2007 that would be great - the developer's
options are even larger with this latest release!

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com

----------
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.mspx
----------

in message:
3. With Access 2007 you can create a 2003 format that will work with users
running 2003. You won't be able to create an MDE in that version **that
will
run in 2003**, but you can still create an MDB that will run.
5. Here's the big one. What if you still want to develop in Access 2007,
but
use some of the depracated features like User Level Security or
Replication?
You can! Use Access 2007 to develop a 2003 format MDB with those features
and then create a MDE when you're done. The 2007 Runtime will be free so
it's possible you could distribute the 2007 Runtime to your users and give
then the 2003 MDE file to run even if they already have Access 2003! I'll
have to qualify that statement that I'm not positive the 2007 Runtime can
run 2003 format MDEs created in Access 2007. (I haven't seen any
information
one way or the other.) If it *can*, that would be pretty slick in my
opinion
because of all the choices you have as a developer.

Hi Jeff,
A 2003 mde-file that *won't* run in A2003 still seems very strange to me.
IMO such a 'thing' should not be called a 2003 mde...

Please re-read what you say here (point 3 and 5)
How can I *ever* explain that to my mother-in-law ... ??

Arno R
 
M

Marshall Barton

Jeff said:
Point 3 is no different from any other verison of Access. With Access 2003 I
can create a 2000 format MDB that can run on systems with only 2000
installed. With 2003 I cannot, however, create a 2000 format MDE that runs
on 2000. Same goes for all previous versions.

Point 5 is a big advantage for Access 2007. You can now create multiple
MDE/ACCDE on different formats. If you *have* to use User Level Security
while developing in 2007, for instance, you can create the file in 2003
format and add in all the elements you need. You can then create an MDE file
from it and have users with Access 2007 run the file. In a sense, we've had
a similar capability before with creating an MDE in a lower version and have
it run in a later version (like creating a 2000 MDE in 2000 and having it
run in later versions without issue). If the free 2007 runtime allows you to
run a 2003 format MDE created in 2007 that would be great - the developer's
options are even larger with this latest release!


Jeff,

I think you should call the MDE created by A2007 an
A2007 MDE ;-)
But then, you probably have no control over what
went into HELP or the marketing hype :)

I, for one, don't care if the original MDB was in
A2002/2003 format or not.

The other choice is a 2007 ACCDE
 
J

Jeff Conrad [MSFT]

in message:

Hi Marsh,
I think you should call the MDE created by A2007 an
A2007 MDE ;-)

I'd tend to agree, although that could generate some different confusion.
But then, you probably have no control over what
went into HELP or the marketing hype :)

Quite correct and since I'm new here, I don't have any idea if this was a
planned "feature" or just an interesting quirk. My gut tells me this was
planned so developers could still use some of the depracated features and
create an MDE for distribution. I might ask around out of curiousity.
I, for one, don't care if the original MDB was in
A2002/2003 format or not.

The other choice is a 2007 ACCDE

Yep.
If you want all the latest features, you have to use ACCDE.

--
Jeff Conrad - Access Junkie - MVP Alumni
SDET - XAS Services - Microsoft Corporation

Co-author - Microsoft Office Access 2007 Inside Out
Presenter - Microsoft Access 2007 Essentials
http://www.accessmvp.com/JConrad/accessjunkie.html
Access 2007 Info: http://www.AccessJunkie.com
 
D

David W. Fenton

5. Here's the big one. What if you still want to develop in Access
2007, but use some of the depracated features like User Level
Security or Replication? You can! Use Access 2007 to develop a
2003 format MDB with those features and then create a MDE when
you're done. The 2007 Runtime will be free so it's possible you
could distribute the 2007 Runtime to your users and give then the
2003 MDE file to run even if they already have Access 2003! I'll
have to qualify that statement that I'm not positive the 2007
Runtime can run 2003 format MDEs created in Access 2007. (I
haven't seen any information one way or the other.) If it *can*,
that would be pretty slick in my opinion because of all the
choices you have as a developer.

Given that non-runtime Access 2007 can run the A2K3 MDE compiled in
A2K7, it is a given taht runtime Access 2007 will also be able to
run it.

I don't see what the eureka moment is about here. From the very
beginning when it was clear that the ACE did not support ULS or
Replication, it was also clear that you could still use those
functions in A2K7 by using MDB format (and create it in A2K7).

I wish the ACE supported both these features (a single db password
is no replacement for ULS, and Sharepoint lists are no replacement
for eplication), but existing apps will continue to run in A2K7 and
new apps with those features can continue to be developed.
 
D

David W. Fenton

I think you should call the MDE created by A2007 an
A2007 MDE ;-)

I don't think so. An A2K7 MDB is identical to an A2K3 MDB -- it can
run in either. But the MDE is *not* identical, even though the
source MDB is identical.

This is just a case where there is no A2K7 version of the MDB, and
the only reason the A2K3 MDB compiled into an MDE cannot run in A2K3
is because the VBA version in A2K7 is not the same as that of A2K3.
This is *exactly* as it has always been. You could compile an
A2K-format MDB to an MDE in A2K3, but it wouldn't run on A2K, only
on A2K3.
But then, you probably have no control over what
went into HELP or the marketing hype :)

We've never had any of that. It's taken years for MS to fix the
Access documentation back to its original state by adding back in
the DAO examples alongside the ADO/JRO.
I, for one, don't care if the original MDB was in
A2002/2003 format or not.

The other choice is a 2007 ACCDE

Well, not if you need ULS or Replication.
 

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