We help IT Professionals succeed at work.

MDE constraint

Frank Freese
Frank Freese asked
on
Experts,
For the obvious in protecting my forms, reports, queries and macros I am consideing splitting my database and then creating an MDE file.
What functionality does a developer loose? Just want to check before I do something stupid, again.
Comment
Watch Question

Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007
Commented:
In an MDE, No changes can be made to Forms, Reports, VBA anywhere or Macros.  Tables and Queries are unaffected.

That's the main deal.

mx
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007
Commented:
"For the obvious in protecting my forms, reports, queries "

Again noting ... queries are not protected from Design changes (or Tables).

mx
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007
Commented:
Of  course. you *must* keep an MDB Master ... wherein you will continue to do development as required.

mx
when an MDE is created, all of the CODE that is associated with the forms and modules is 'compiled' and can no longer be viewed or modified.  In fact, it is not possible to convert an MDE back to the origianl MDB (thus it is CRITICAL that you keep a secure and current copy of the MDB file whenever you create an MDE.  By keeping the associated MDB for every MDE, you can then make modifications/bug fixes tio the MDE - they will be made in the associated MDB which will then be used to create a new MDE - and also keeping the newly modified MDB)

This is a lesson that has been learned 'the hard way' if you get my meaning.

AW

Author

Commented:
thank you
Jim Dettman (EE MVE)President / Owner
CERTIFIED EXPERT
Fellow
Most Valuable Expert 2017

Commented:

 Not sure about latter releases, but in 2000/2003 macros are creatable and editable.

 Also, if you view this as a form of proptection of your forms and reports, note that with automation and the application.Saveastext method, you can get a read-out of the form (sans code) even though you can't open it in design view.

Jim.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007

Commented:
Yeah ... I do recall now that Macros are not protected.

Will have to try the SaveAsText ... are you sure about that ?  If so, it would render an MDE useless ...

mx
Microsoft strongly advises AGAINST using Macros.  The issue is that, as such, macros cannot be 'debugged' - The distinction here is between MACROS and VBA Modules - which contain executable VBA code.

AW
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007

Commented:
Well, that's odd because in A2010 there is a brand new full on 'Macro Designer' ... which they seem to be promoting ...

mx
Jim Dettman (EE MVE)President / Owner
CERTIFIED EXPERT
Fellow
Most Valuable Expert 2017

Commented:
<<Will have to try the SaveAsText ... are you sure about that ?  If so, it would render an MDE useless ...>>

  Yes.  But the code is the kicker.  I mean really, how many apps don't have code in them?  That's where a lot of the work is.  

  Forms and reports you could take a screen shot of and duplicate them fairly easily.

  Getting all the logic back though is the real trick.

Jim.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007

Commented:
"you can get a read-out of the form (sans code) "
Oh ... so, *not* the code, correct ?

mx
Jim Dettman (EE MVE)President / Owner
CERTIFIED EXPERT
Fellow
Most Valuable Expert 2017

Commented:
@AW,

<<Microsoft strongly advises AGAINST using Macros.  The issue is that, as such, macros cannot be 'debugged' - The distinction here is between MACROS and VBA Modules - which contain executable VBA code.>>

  Well they've switched again<g>.

  Microsoft is now heavily pushing macros once again.  There's the new macro designer and they've added error handling (which was the big bug a boo over macros in the past).  That's were they also added table triggers.

  And with 2010, web databases don't support VBA at all; everything must be done through macros.

Jim.
ok, Bill wins again LOL
Jim Dettman (EE MVE)President / Owner
CERTIFIED EXPERT
Fellow
Most Valuable Expert 2017

Commented:
@MX

<<"you can get a read-out of the form (sans code) "
Oh ... so, *not* the code, correct ?>>

  Not the code, correct.  You can get everything else easily enough, just not the code.  But as we know, if you have enough knowledge, you can get that as well.

Jim.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007

Commented:
Have you actually tried that ... SaveAsText / Automation ... from a remote mdb on a target MDE ?

Author

Commented:
question folks - is this part of my thread? no problem, just a little confused
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
CERTIFIED EXPERT
Top Expert 2007

Commented:
Yes ... just some add on comments and discussion.

mx

Explore More ContentExplore courses, solutions, and other research materials related to this topic.