MDE

  • Thread starter accessuser via AccessMonster.com
  • Start date
A

accessuser via AccessMonster.com

I'm using MS Access 2000 want to make my database a MDE. I tried Tools,
Utilities, but the "Make MDE" option is in grey and I can't make MDE. Is
there something I have to do before I can make MDE? Did I miss steps in
between? Can someone give me some instructions on this. Thanks
 
A

Allen Browne

Is the file in Access 2000 format?

What happens if you open a code window, and choose Compile on the Debug
menu? Do you get any errors?

Choose References on the Tools menu (from the code window.) Any references
marked missing?

Have you secured this database (MDW file)? Are you logged in with adequate
priviliges?

If none of that applies, there may be a corruption in the database. Try this
sequence (in order):

1. Uncheck the boxes under:
Tools | Options | General | Name AutoCorrect
Explanation of why:
http://allenbrowne.com/bug-03.html

2. Compact the database to get rid of this junk:
Tools | Database Utilities | Compact/Repair

3. Close Access. Make a backup copy of the file. Decompile the database by
entering something like this at the command prompt while Access is not
running. It is all one line, and include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"

4. Open Access (holding down the Shift key if you have any startup code),
and compact again.

5. Open a code window.
Choose References from the Tools menu.
Uncheck any references you do not need.
For a list of the ones you typically need in your version of Access, see:
http://allenbrowne.com/ser-38.html

6. Still in the code window, choose Compile from the Debug menu.
Fix any errors, and repeat until it compiles okay.

At this point, you should have a database where the name-autocorrect errors
are gone, the indexes are repaired, inconsistencies between the text- and
compiled-versions of the code are fixed, reference ambiguities are resolved,
and the code syntax is compilable.

If it is still a problem, the next step would be to get Access to rebuild
the database for you. Follow the steps for the first symptom in this
article:
Recovering from Corruption
at:
http://allenbrowne.com/ser-47.html
 
A

accessuser via AccessMonster.com

I was able to make MDE now, but for whatever reason I had to convert my
database to 2002, and then will allow me to make MDE from the 2002. I got a
msg stating:

"After you have converted this file to access 2002 File format, the new file
cannot be shared with access 2000 users or access 97 users."


Can you tell me what does it mean? Most of my users will use either 2000 or
2003. What will happen to 2000 users. I think i am using 2000 now and i was
able to open up the new 2002 MDE. Can you kind of explain whats going on
with this message.

Thanks so much! I really appreciate your help
 
A

Allen Browne

If you are using Access 2000, you would not be able to convert your database
into the A2002 format.

If you are using Access 2002, you can only create an MDE in A2002 file
format.

If you want to create an MDE that can be used by both A2000 and A2002 users,
you will need to find a computer with A2000 installed, and create the MDE on
that machine.
 
A

accessuser via AccessMonster.com

This is where I got confused. When I open up my Access, it says 2002, but if
I go into Help, "About Microsoft Access", it tells me "Microsoft @ 2002", so ?
?? How can I have 2000 and 2002?? I am sorry if i am asking a dumb question,
but it is not making sense for me.

Allen said:
If you are using Access 2000, you would not be able to convert your database
into the A2002 format.

If you are using Access 2002, you can only create an MDE in A2002 file
format.

If you want to create an MDE that can be used by both A2000 and A2002 users,
you will need to find a computer with A2000 installed, and create the MDE on
that machine.
I was able to make MDE now, but for whatever reason I had to convert my
database to 2002, and then will allow me to make MDE from the 2002. I got
[quoted text clipped - 74 lines]
 
A

accessuser via AccessMonster.com

I mean 2000 when I open up my access.

Quote "When I open up my Access, it says 2002, but if I go into Help, "About
Microsoft Access", it tells me "Microsoft @ 2002", so ?"
This is where I got confused. When I open up my Access, it says 2002, but if
I go into Help, "About Microsoft Access", it tells me "Microsoft @ 2002", so ?
?? How can I have 2000 and 2002?? I am sorry if i am asking a dumb question,
but it is not making sense for me.
If you are using Access 2000, you would not be able to convert your database
into the A2002 format.
[quoted text clipped - 11 lines]
 
A

Allen Browne

Okay, this stuff is not obvious, so hope this helps.

Up to Access 2000, each version had a new file format, and you could not
modify the objects in previous versions.

Access 2002 is capable of working natively with the Access 2000 file format,
as well as with its own new 2002 format. Help | About tells you which
version of Access you are using. The title bar of the Database window
indicates which file format this particular MDB is.

Access 2003 did not introduce a new file format. It can work natively with
the Access 2002 format (not called Access 2002/2003 file format), as well as
with the Access 2000 format.

Access 2007 has lots of new features in its new ACCDB file format, but it
can also work natively with the 2000 and 2002/2003 file formats.

The MDB file contains 2 versions of the code:
a) the compiled binary (what actually executes);
b) the text version (what you view and edit.)
The MDE contains only (a).

Each version of Access uses a *different* binary for the compiled code, and
can create an MDE only for its own version. You cannot use Access 2002 or
2003 to create an MDE if the file format is Access 2000.

The MDEs all backward compatible, so Access 2003 can read the binary in an
Access 2000 file format MDE, or an Access 2002 file format MDE. But the
reverse is not true: even though Access 2002 and 2003 use the same file
format, and you can create an MDE in this format using Access 2003, Access
2002 cannot use that MDE.

The upshot is that if you are a developer supporting clients who need MDEs
created for different versions of Access, you must keep all those version on
your development machine.

If you use different versions to edit an MDB, the earlier versions ignore
the unusable binary created by the later versions, and create their own, so
it does not have the problem of the MDE. Well, that's what it's supposed to
do: in practice, this doesn't work reliably, so you need to explicitly
decompile the file when switching development versions, especially when
going back to an earlier version.

If you need to programmatically determine the version and file format of an
Access file (MDB/MDE/ACCDB/ACCDE/ADP/ADE regardless of the actual extension
used), this code will help:
http://allenbrowne.com/ser-53code.html#GetFileFormat

--
Allen Browne - Microsoft MVP. Perth, Western Australia

Reply to group, rather than allenbrowne at mvps dot org.

accessuser via AccessMonster.com said:
I mean 2000 when I open up my access.

Quote "When I open up my Access, it says 2002, but if I go into Help,
"About
Microsoft Access", it tells me "Microsoft @ 2002", so ?"
This is where I got confused. When I open up my Access, it says 2002, but
if
I go into Help, "About Microsoft Access", it tells me "Microsoft @ 2002",
so ?
?? How can I have 2000 and 2002?? I am sorry if i am asking a dumb
question,
but it is not making sense for me.
If you are using Access 2000, you would not be able to convert your
database
into the A2002 format.
[quoted text clipped - 11 lines]
there something I have to do before I can make MDE? Did I miss steps
in
between? Can someone give me some instructions on this. Thanks
 
A

Allen Browne

The brackets in paragraph 4 should read "now", not "not":
(now called Access 2002/2003 file format)

--
Allen Browne - Microsoft MVP. Perth, Western Australia

Reply to group, rather than allenbrowne at mvps dot org.

Allen Browne said:
Okay, this stuff is not obvious, so hope this helps.

Up to Access 2000, each version had a new file format, and you could not
modify the objects in previous versions.

Access 2002 is capable of working natively with the Access 2000 file
format, as well as with its own new 2002 format. Help | About tells you
which version of Access you are using. The title bar of the Database
window indicates which file format this particular MDB is.

Access 2003 did not introduce a new file format. It can work natively with
the Access 2002 format (not called Access 2002/2003 file format), as well
as with the Access 2000 format.

Access 2007 has lots of new features in its new ACCDB file format, but it
can also work natively with the 2000 and 2002/2003 file formats.

The MDB file contains 2 versions of the code:
a) the compiled binary (what actually executes);
b) the text version (what you view and edit.)
The MDE contains only (a).

Each version of Access uses a *different* binary for the compiled code,
and can create an MDE only for its own version. You cannot use Access 2002
or 2003 to create an MDE if the file format is Access 2000.

The MDEs all backward compatible, so Access 2003 can read the binary in an
Access 2000 file format MDE, or an Access 2002 file format MDE. But the
reverse is not true: even though Access 2002 and 2003 use the same file
format, and you can create an MDE in this format using Access 2003, Access
2002 cannot use that MDE.

The upshot is that if you are a developer supporting clients who need MDEs
created for different versions of Access, you must keep all those version
on your development machine.

If you use different versions to edit an MDB, the earlier versions ignore
the unusable binary created by the later versions, and create their own,
so it does not have the problem of the MDE. Well, that's what it's
supposed to do: in practice, this doesn't work reliably, so you need to
explicitly decompile the file when switching development versions,
especially when going back to an earlier version.

If you need to programmatically determine the version and file format of
an Access file (MDB/MDE/ACCDB/ACCDE/ADP/ADE regardless of the actual
extension used), this code will help:
http://allenbrowne.com/ser-53code.html#GetFileFormat

--
Allen Browne - Microsoft MVP. Perth, Western Australia

Reply to group, rather than allenbrowne at mvps dot org.

accessuser via AccessMonster.com said:
I mean 2000 when I open up my access.

Quote "When I open up my Access, it says 2002, but if I go into Help,
"About
Microsoft Access", it tells me "Microsoft @ 2002", so ?"
This is where I got confused. When I open up my Access, it says 2002,
but if
I go into Help, "About Microsoft Access", it tells me "Microsoft @ 2002",
so ?
?? How can I have 2000 and 2002?? I am sorry if i am asking a dumb
question,
but it is not making sense for me.

If you are using Access 2000, you would not be able to convert your
database
into the A2002 format.
[quoted text clipped - 11 lines]
there something I have to do before I can make MDE? Did I miss
steps in
between? Can someone give me some instructions on this. Thanks
 
A

accessuser via AccessMonster.com

Thanks for your reply, it reallly helped a lot for my confusion. This is my
first database and it is driving me nut in version problems. I have another
issue that I experienced today and I'll start a new threat for that.

thanks!

Allen said:
The brackets in paragraph 4 should read "now", not "not":
(now called Access 2002/2003 file format)
Okay, this stuff is not obvious, so hope this helps.
[quoted text clipped - 65 lines]
 

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

Similar Threads

Split database Access 2000/2003 4
Creating .MDE File 3
Can not make MDE while before I can 3
MDE file 6
MDB referencing MDE Database 4
Can't make an MDE file. 4
MDE greyed out on menu 3
Mde error 2

Top