By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,327 Members | 1,806 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,327 IT Pros & Developers. It's quick & easy.

VBA surprise

P: n/a
I am expecting a VBA code module in one of the VBA apps, but much to my
astonishment, I don't seem to find my way through it. It seems like I
am looking at a fully compiled binary.

I have an MDB (Microsoft Access 2000) file that I am guessing is a
compiled binary written in Visual Basic for Applications (VBA).

I've done a fairly decent amount of VBA myself but mostly in the Excel,
Word and Power Point environments. This is the first time I am looking
at an Access VBA binary.

It comes as a surprise to me that, unlike other automation servers such
as Excel, Access VBA applications can be fully compiled.

I am only guessing because I haven't been able to find the source code
of the file yet.

Is it that the MDB files also are like Excel Macro modules and have the
source code inside them that I am unable to find? Or, is it that
possible that the MDB may be a binary of the VBA code? If not, how do I
get to the code editor? This application does not have any of the Tools
-> Macro menu that I am used to. It's a fully blown app written in VBA.

May 2 '06 #1
Share this Question
Share on Google+
16 Replies


P: n/a
An MDE file will be compiled and the text code removed. An MDB file should
still have the text code in it. Perhaps someone renamed and MDE file with an
MDB extension?

Another possibility - Are there any forms and reports in the file. Are the
tables in the file or linked tables? This could be the "back-end" file for
another database file. If so, there may not be any code in it. Are there any
code modules listed? If so, what happens if you double click them? If there
are forms and reports, can you edit them?

--
Wayne Morgan
MS Access MVP
"Sathyaish" <sa*******@gmail.com> wrote in message
news:11*********************@e56g2000cwe.googlegro ups.com...
I am expecting a VBA code module in one of the VBA apps, but much to my
astonishment, I don't seem to find my way through it. It seems like I
am looking at a fully compiled binary.

I have an MDB (Microsoft Access 2000) file that I am guessing is a
compiled binary written in Visual Basic for Applications (VBA).

I've done a fairly decent amount of VBA myself but mostly in the Excel,
Word and Power Point environments. This is the first time I am looking
at an Access VBA binary.

It comes as a surprise to me that, unlike other automation servers such
as Excel, Access VBA applications can be fully compiled.

I am only guessing because I haven't been able to find the source code
of the file yet.

Is it that the MDB files also are like Excel Macro modules and have the
source code inside them that I am unable to find? Or, is it that
possible that the MDB may be a binary of the VBA code? If not, how do I
get to the code editor? This application does not have any of the Tools
-> Macro menu that I am used to. It's a fully blown app written in VBA.

May 2 '06 #2

P: n/a
Hi, Sathyaish.
It comes as a surprise to me that, unlike other automation servers such
as Excel, Access VBA applications can be fully compiled.
It's possible that the database file was compiled into an MDE (Microkernel
Development Environment) database format, which removes the source code from
the file, and then the file name was changed to an MDB extension. However,
it's more likely that the Access database developer just tried to hide the
code from users. If you are unable to access design mode of modules from
the Database Window, then the file is in MDE format.

If it's not in MDE format, try to press <ALT><F11> to open the VB Editor.
If that doesn't work, then close the database file, press the <SHIFT> key
and open the file again, and continue holding the <SHIFT> key down until the
database is completely open, to bypass the startup options. Then press
<ALT><F11> to open the VB Editor.

If that doesn't work, then select the Tools -> Startup... menu to open the
Startup dialog window and ensure that the "Allow Special Access Keys" check
box is marked. Close the dialog window to save the change, then close the
database file. Open the database file again and your change will take
effect. Press <ALT><F11> to open the VB Editor.
This application does not have any of the Tools
-> Macro menu that I am used to.
The built-in menu has been removed from display by the startup options.
You'll need to use the shift bypass key method I described above, unless
this feature has been disabled. However, that's unlikely unless the Access
database developer also applied User-level security.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"Sathyaish" <sa*******@gmail.com> wrote in message
news:11*********************@e56g2000cwe.googlegro ups.com...I am expecting a VBA code module in one of the VBA apps, but much to my
astonishment, I don't seem to find my way through it. It seems like I
am looking at a fully compiled binary.

I have an MDB (Microsoft Access 2000) file that I am guessing is a
compiled binary written in Visual Basic for Applications (VBA).

I've done a fairly decent amount of VBA myself but mostly in the Excel,
Word and Power Point environments. This is the first time I am looking
at an Access VBA binary.

It comes as a surprise to me that, unlike other automation servers such
as Excel, Access VBA applications can be fully compiled.

I am only guessing because I haven't been able to find the source code
of the file yet.

Is it that the MDB files also are like Excel Macro modules and have the
source code inside them that I am unable to find? Or, is it that
possible that the MDB may be a binary of the VBA code? If not, how do I
get to the code editor? This application does not have any of the Tools
-> Macro menu that I am used to. It's a fully blown app written in VBA.

May 2 '06 #3

P: n/a
DFS
'69 Camaro wrote:
MDE (Microkernel Development Environment)


Very doubtful, but I can't find an official MS reference that explains what
..mde means.

Most likely Microsoft Database Executable.
May 3 '06 #4

P: n/a
Hi.
Very doubtful, but I can't find an official MS reference that explains
what
.mde means.
Have you ever known me to guess without specifically saying so? Of course
not. I read this definition from documentation that I downloaded from
Microsoft's Knowledge Base in April through September 2001, but in the years
since, is no longer posted. But that's not the only place. You'll also
find it elsewhere, in at least one book and on the Web.

Please see pages 113 - 114 of Roger Jennings's "Special Edition Using Access
97 (2nd Edition)"; or

http://www.freehomepages.com/astalalista/en/acrln.html; or

http://personal.earlsoft.co.uk/stuff/acronyms.txt; or

http://tge.cmaisonneuve.qc.ca/proven...cronyme14.htm;
or

http://www.ttn.com.tr/ttn/SolPartner...px?abbrindex=M

I suspect that Roger Jennings's sequels also have this definition, but
someone else will need to verify that, as I don't have any other of his
books.
Most likely Microsoft Database Executable.
That was a very common guess when Access 97 started popularizing MDE's, but
you know as well as I do that the MDE database file isn't an executable, and
never has been. I suspect that Microsoft's acronym was influenced by IBM's
MDE, which also stands for Microkernel Development Environment, and which
was released about the same time as Access 95, which the first Access Wizard
MDE's were produced for.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"DFS" <nospam@dfs_.com> wrote in message
news:Dv*****************@bignews1.bellsouth.net... '69 Camaro wrote:
MDE (Microkernel Development Environment)


Very doubtful, but I can't find an official MS reference that explains
what
.mde means.

Most likely Microsoft Database Executable.

May 3 '06 #5

P: n/a
"'69 Camaro" <Fo**************************@Spameater.orgZERO_SP AM> wrote in
message news:Cv******************************@adelphia.com ...
Hi.
Very doubtful, but I can't find an official MS reference that explains
what
.mde means.


Have you ever known me to guess without specifically saying so? Of course
not. I read this definition from documentation that I downloaded from
Microsoft's Knowledge Base in April through September 2001, but in the
years since, is no longer posted. But that's not the only place. You'll
also find it elsewhere, in at least one book and on the Web.


Hi Gunny.

That being the case, what does MDB stand for. I had always assumed
Microsoft DataBase but I somehow doubt it now.

Keith.
May 3 '06 #6

P: n/a

'69 Camaro wrote:
Have you ever known me to guess without specifically saying so? Of course
not. I read this definition from documentation that I downloaded from
Microsoft's Knowledge Base in April through September 2001, but in the years
since, is no longer posted. But that's not the only place. You'll also
find it elsewhere, in at least one book and on the Web.

Please see pages 113 - 114 of Roger Jennings's "Special Edition Using Access
97 (2nd Edition)"; or

http://www.freehomepages.com/astalalista/en/acrln.html; or

http://personal.earlsoft.co.uk/stuff/acronyms.txt; or

http://tge.cmaisonneuve.qc.ca/proven...cronyme14.htm;
or

http://www.ttn.com.tr/ttn/SolPartner...spx?abbrindex=


I don't doubt at all that you have seen this documentation although
your links went no where for me.
But I do have trouble understanding why this name would be chosen. A
Microkernel TTBOMK is a set of low level OS components with special
basic privileges such as managing threads, hardware and address
spacing. Other base components known as servers do not have these
privileges and must petition the microkernel to do their work in areas
where this privileged access is required.
Access as an executable is several layers removed form this bottom guts
level of the OS. I cannot see that an Access MDE file has anything to
do directly with the Microkernel, and I do not see that the MDE file is
analogous to the Microkernel.

May 3 '06 #7

P: n/a
DFS
'69 Camaro wrote:
Hi.
Very doubtful, but I can't find an official MS reference that
explains what
.mde means.


Have you ever known me to guess without specifically saying so?


I don't know you at all, Mr Camaro, and I honestly don't recall ever reading
any of your posts.

But I think you're way off in this case. There are many definitions of the
acronym MDE, but it's 99.99999% (that's five nines) unlikely that
'microkernel development environment' is what mde stands for in relation to
a compiled Microsoft Access database.

May 3 '06 #8

P: n/a
Sathyaish wrote:
I have an MDB (Microsoft Access 2000) file
How do you know that ? Who told you ?
that I am guessing is a
compiled binary written in Visual Basic for Applications (VBA).
It is not.
I am only guessing because I haven't been able to find the source code
of the file yet.
It is usually in a file with extension mdb or mde.
Is it that the MDB files also are like Excel Macro modules and have
the source code inside them


Yes.

Are you using Microsoft Office Access to view the contents of the mdb file ?
What version ?

/jim
May 3 '06 #9

P: n/a
Hi, Keith.
That being the case, what does MDB stand for. I had always assumed
Microsoft DataBase
Don't worry. Microsoft DataBase makes sense, so that shouldn't be in
dispute. Unless someone else can find documentation that says otherwise.
;-)

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"Keith Wilby" <he**@there.com> wrote in message
news:44**********@glkas0286.greenlnk.net... "'69 Camaro" <Fo**************************@Spameater.orgZERO_SP AM> wrote
in message news:Cv******************************@adelphia.com ...
Hi.
Very doubtful, but I can't find an official MS reference that explains
what
.mde means.


Have you ever known me to guess without specifically saying so? Of
course not. I read this definition from documentation that I downloaded
from Microsoft's Knowledge Base in April through September 2001, but in
the years since, is no longer posted. But that's not the only place.
You'll also find it elsewhere, in at least one book and on the Web.


Hi Gunny.

That being the case, what does MDB stand for. I had always assumed
Microsoft DataBase but I somehow doubt it now.

Keith.

May 3 '06 #10

P: n/a
Hi, Lyle.
your links went no where for me.
Sorry about that. My poor choice of punctuation rendered the links unusable
in some newsreaders. Here they are again:

http://www.freehomepages.com/astalalista/en/acrln.html

http://personal.earlsoft.co.uk/stuff/acronyms.txt

http://tge.cmaisonneuve.qc.ca/proven...acronyme14.htm

http://www.ttn.com.tr/ttn/SolPartner...px?abbrindex=M
But I do have trouble understanding why this name would be chosen.
It doesn't make a lot of sense. But anyone familiar with Microsoft Bob,
Windows 2.0 or 3.0, lookup fields, or the built-in ability to store multiple
values in a field will find that not all of the decisions that come out of
Redmond make sense.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"Lyle Fairfield" <ly***********@aim.com> wrote in message
news:11**********************@e56g2000cwe.googlegr oups.com...
'69 Camaro wrote:
Have you ever known me to guess without specifically saying so? Of
course
not. I read this definition from documentation that I downloaded from
Microsoft's Knowledge Base in April through September 2001, but in the
years
since, is no longer posted. But that's not the only place. You'll also
find it elsewhere, in at least one book and on the Web.

Please see pages 113 - 114 of Roger Jennings's "Special Edition Using
Access
97 (2nd Edition)"; or

http://www.freehomepages.com/astalalista/en/acrln.html; or

http://personal.earlsoft.co.uk/stuff/acronyms.txt; or

http://tge.cmaisonneuve.qc.ca/proven...cronyme14.htm;
or

http://www.ttn.com.tr/ttn/SolPartner...spx?abbrindex=


I don't doubt at all that you have seen this documentation although
your links went no where for me.
But I do have trouble understanding why this name would be chosen. A
Microkernel TTBOMK is a set of low level OS components with special
basic privileges such as managing threads, hardware and address
spacing. Other base components known as servers do not have these
privileges and must petition the microkernel to do their work in areas
where this privileged access is required.
Access as an executable is several layers removed form this bottom guts
level of the OS. I cannot see that an Access MDE file has anything to
do directly with the Microkernel, and I do not see that the MDE file is
analogous to the Microkernel.

May 3 '06 #11

P: n/a
Hi.
I don't know you at all, Mr Camaro, and I honestly don't recall ever
reading
any of your posts.
If you read through the archives of the Access newsgroups, you'll find that
I don't guess too often, but when I do, I say so.
But I think you're way off in this case.
I'm merely sharing what formally published documentation I have on the topic
from Roger Jennings's book. If you have additional published documentation
to support or dispute his book, then you are free to offer it as well.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"DFS" <nospam@dfs_.com> wrote in message
news:oI******************@bignews7.bellsouth.net.. . '69 Camaro wrote:
Hi.
Very doubtful, but I can't find an official MS reference that
explains what
.mde means.


Have you ever known me to guess without specifically saying so?


I don't know you at all, Mr Camaro, and I honestly don't recall ever
reading
any of your posts.

But I think you're way off in this case. There are many definitions of
the
acronym MDE, but it's 99.99999% (that's five nines) unlikely that
'microkernel development environment' is what mde stands for in relation
to
a compiled Microsoft Access database.

May 3 '06 #12

P: n/a
Interesting links. The do relate acronyms to terms, but none relate the
terms to an Access database. Even with an industry, there is no standard for
acronyms. Thanks to IBM, most people associate IPL with Imediate (or
Initial) Program Load. To a VAX expert, it stands for Interrupt Priority
Level. Is it possible theat Roger Jenning's put two and two together and got
five?

John... Visio MVP - Most Valuable Primate
May 3 '06 #13

P: n/a

"John Marshall, MVP" <la******@stonehenge.ca> schreef in bericht news:n8******************************@magma.ca...
John... Visio MVP - Most Valuable Primate


Hi John... seen this? Marketing Via Phone ;-)

Arno R
May 3 '06 #14

P: n/a
Hi, John.
Is it possible theat Roger Jenning's put two and two together and got
five?
Yes. But if so, then he wasn't the only one. I checked alternate sources
five years ago, because I thought it might be a typo in the book when I
first read it. I saw it in another book, but I don't recall the title.
About six months later I found that Microsoft had published it on at least
two Web pages in their KB and articles on Microsoft Office 97 development,
and there were at least four or five Web sites on the Internet that included
discussions with words to the effect of "Microsoft Database Executable is a
common misconception. It's not an executable. MDE stands for Microkernel
Development Environment."

Unfortunately, all of these Web references seem to have disappeared in the
interim. I wonder if there's a way to search the Wayback Machine on a topic
without knowing the exact URL from four or five years ago.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"John Marshall, MVP" <la******@stonehenge.ca> wrote in message
news:n8******************************@magma.ca... Interesting links. The do relate acronyms to terms, but none relate the
terms to an Access database. Even with an industry, there is no standard
for acronyms. Thanks to IBM, most people associate IPL with Imediate (or
Initial) Program Load. To a VAX expert, it stands for Interrupt Priority
Level. Is it possible theat Roger Jenning's put two and two together and
got five?

John... Visio MVP - Most Valuable Primate

May 3 '06 #15

P: n/a
Update: I stand corrected. The documentation in Roger Jennings's book is
incorrect. Microsoft's MDE is _not_ an acronym for Microkernel Development
Environment. Microsoft's Michael Kaplan (as I'm sure we can all agree is an
authority on Access) was gracious enough to provide a brief history of MDE
files in his blog this morning. Please see the following Web page for his
tale:

http://blogs.msdn.com/michkap

Thanks for taking the time to set me straight, MichKa!

Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"'69 Camaro" <Fo**************************@Spameater.orgZERO_SP AM> wrote in
message news:da********************@adelphia.com...
Hi, John.
Is it possible theat Roger Jenning's put two and two together and got
five?


Yes. But if so, then he wasn't the only one. I checked alternate sources
five years ago, because I thought it might be a typo in the book when I
first read it. I saw it in another book, but I don't recall the title.
About six months later I found that Microsoft had published it on at least
two Web pages in their KB and articles on Microsoft Office 97 development,
and there were at least four or five Web sites on the Internet that
included discussions with words to the effect of "Microsoft Database
Executable is a common misconception. It's not an executable. MDE stands
for Microkernel Development Environment."

Unfortunately, all of these Web references seem to have disappeared in the
interim. I wonder if there's a way to search the Wayback Machine on a
topic without knowing the exact URL from four or five years ago.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"John Marshall, MVP" <la******@stonehenge.ca> wrote in message
news:n8******************************@magma.ca...
Interesting links. The do relate acronyms to terms, but none relate the
terms to an Access database. Even with an industry, there is no standard
for acronyms. Thanks to IBM, most people associate IPL with Imediate (or
Initial) Program Load. To a VAX expert, it stands for Interrupt Priority
Level. Is it possible theat Roger Jenning's put two and two together and
got five?

John... Visio MVP - Most Valuable Primate

May 5 '06 #16

P: n/a
And for future reference, MichKa's blog entry is titled "You've never heard
of Access .MDX files?" and can be found on the following Web page:

http://blogs.msdn.com/michkap/archiv...05/590465.aspx

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"'69 Camaro" <Fo**************************@Spameater.orgZERO_SP AM> wrote in
message news:0q******************************@adelphia.com ...
Update: I stand corrected. The documentation in Roger Jennings's book is
incorrect. Microsoft's MDE is _not_ an acronym for Microkernel
Development Environment. Microsoft's Michael Kaplan (as I'm sure we can
all agree is an authority on Access) was gracious enough to provide a
brief history of MDE files in his blog this morning. Please see the
following Web page for his tale:

http://blogs.msdn.com/michkap

Thanks for taking the time to set me straight, MichKa!

Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"'69 Camaro" <Fo**************************@Spameater.orgZERO_SP AM> wrote
in message news:da********************@adelphia.com...
Hi, John.
Is it possible theat Roger Jenning's put two and two together and got
five?


Yes. But if so, then he wasn't the only one. I checked alternate
sources five years ago, because I thought it might be a typo in the book
when I first read it. I saw it in another book, but I don't recall the
title. About six months later I found that Microsoft had published it on
at least two Web pages in their KB and articles on Microsoft Office 97
development, and there were at least four or five Web sites on the
Internet that included discussions with words to the effect of "Microsoft
Database Executable is a common misconception. It's not an executable.
MDE stands for Microkernel Development Environment."

Unfortunately, all of these Web references seem to have disappeared in
the interim. I wonder if there's a way to search the Wayback Machine on
a topic without knowing the exact URL from four or five years ago.

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/ex...ributors2.html for contact
info.
"John Marshall, MVP" <la******@stonehenge.ca> wrote in message
news:n8******************************@magma.ca...
Interesting links. The do relate acronyms to terms, but none relate the
terms to an Access database. Even with an industry, there is no standard
for acronyms. Thanks to IBM, most people associate IPL with Imediate (or
Initial) Program Load. To a VAX expert, it stands for Interrupt Priority
Level. Is it possible theat Roger Jenning's put two and two together and
got five?

John... Visio MVP - Most Valuable Primate


May 5 '06 #17

This discussion thread is closed

Replies have been disabled for this discussion.