473,395 Members | 1,386 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Revisiting mdb/adp files as libraries

Hi all

I'm wanting to build some 'libraries' of functions and classes that I can
share around between various front ends which all share a common backend.
I realise from the archives, that this has been discussed a little in the
past, however I just want to confirm my understanding on a few points.

Q1) Class visibility - While its technically possible to see classes in a
referenced mdb file by exporting, tweaking and re-importing (see
http://www.mvps.org/access/modules/mdl0034.htm) - this clearly isn't
standard behaviour. This may remove some obstacles to building the app the
way I'd like, but I am concerned that if a future version of access
doesn't respect this tweak (VB_Exposed=true) then I may be faced with
'retro designing' the application. Thoughts?

Q2) Inter reference scope - given:

A.mdb -references->B.mdb - which referencernces-> c.mdb
AND
A.mdb -references->D.mdb

Is it possible (which it doesn't seems to be to me) for:
B.mdb to utilise code in A.mdb, or even D.mdb?

If its possible could you share how ?
Thanks all in advance
Glenn

Nov 13 '05 #1
5 1308
Glenn Davy <gS***********@tpg.com.au> wrote:
Q2) Inter reference scope - given:

A.mdb -references->B.mdb - which referencernces-> c.mdb
AND
A.mdb -references->D.mdb

Is it possible (which it doesn't seems to be to me) for:
B.mdb to utilise code in A.mdb, or even D.mdb?


<shudder> No, AFAIK it's only downwards. In your scenario B can't utilize code in A
or D.

But I'm not at all sure I'd want to setup such a complex scenario. I can see having
a "library" of utility code. Which I have. I can see having multiple functional
MDEs called from a "menu" mdb. Any of those would reference the library MDE.
A > B > U, A > C > U, A > D > U, etc.

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
Nov 13 '05 #2
On Thu, 24 Jun 2004 04:19:40 +0000, Tony Toews wrote:
Glenn Davy <gS***********@tpg.com.au> wrote:
Q2) Inter reference scope - given:

A.mdb -references->B.mdb - which referencernces-> c.mdb
AND
A.mdb -references->D.mdb

Is it possible (which it doesn't seems to be to me) for:
B.mdb to utilise code in A.mdb, or even D.mdb?
<shudder> No, AFAIK it's only downwards. In your scenario B can't utilize code in A
or D.

But I'm not at all sure I'd want to setup such a complex scenario. I can see having
a "library" of utility code. Which I have. I can see having multiple functional
MDEs called from a "menu" mdb. Any of those would reference the library MDE.
A > B > U, A > C > U, A > D > U, etc.

Yes I think you're correct re complexity - I was putting my most primitve
functionality at the top of the tree - it might be a limitation not to be
able to traverse this tree, but I think in this instance at least, its
simply saved me from some muddy thinking. I'll see how it looks after I
refactor it a little.
Glenn Tony


Nov 13 '05 #3
q1: My understanding is that the class tweak is more
difficult to implement in A2K3 than it was in A97. You
may want to search around for more information on that.

q2: Yes, an access project can use code in any loaded
class/module. However, you don't have the class
libraries of any child or indirectly referenced projects
at compile time, so you have to use run,eval,SQL, runcode
or whatever to prevent early linking of that code if you
are going to use an MDE. (If you are using an MDB, then
you can live dangerously: the code will only crash if
references can't be resolved as code is loaded and demand
compiled).

For example, I've got code in my second level library
(c.mdb) which calls back into my base projects (a.mdb)
to get application customisation data set at build time.

We also have table driven code in the second level
library that calls back to the mid level modules (it
is used to configure and run reports in the mid level
modules). It is table driven, so it was always going
to be eval/run anyway.

And we used to have code in the mid level modules that
called sideways (from d.mdb to b.mdb). It simplified our
build process and made it more robust by allowing us to
avoid a reference dependency chain. That code still exists,
but we were eventually able to simplify the reference
chain to three levels by consolidating libraries.

(david)

"Glenn Davy" <gS***********@tpg.com.au> wrote in message
news:pa****************************@tpg.com.au...
Hi all

I'm wanting to build some 'libraries' of functions and classes that I can
share around between various front ends which all share a common backend.
I realise from the archives, that this has been discussed a little in the
past, however I just want to confirm my understanding on a few points.

Q1) Class visibility - While its technically possible to see classes in a
referenced mdb file by exporting, tweaking and re-importing (see
http://www.mvps.org/access/modules/mdl0034.htm) - this clearly isn't
standard behaviour. This may remove some obstacles to building the app the
way I'd like, but I am concerned that if a future version of access
doesn't respect this tweak (VB_Exposed=true) then I may be faced with
'retro designing' the application. Thoughts?

Q2) Inter reference scope - given:

A.mdb -references->B.mdb - which referencernces-> c.mdb
AND
A.mdb -references->D.mdb

Is it possible (which it doesn't seems to be to me) for:
B.mdb to utilise code in A.mdb, or even D.mdb?

If its possible could you share how ?
Thanks all in advance
Glenn

Nov 13 '05 #4
On Thu, 24 Jun 2004 18:07:22 +1000, david epsom dot com dot au wrote:
q1: My understanding is that the class tweak is more
difficult to implement in A2K3 than it was in A97. You
may want to search around for more information on that.
Thanks for the tip, you're understanding is correct - I've just compared
2000, 2002 and 2003. In access 2000 and 2002 it was quite simple to
impliment, but in 2003 things don't work properly.

q2: Yes, an access project can use code in any loaded class/module.
Just to clarify - when you say any class module, you mean class module
which has been tweaked?
However, you don't have the class libraries of any child or indirectly
referenced projects at compile time, so you have to use run,eval,SQL,
runcode or whatever to prevent early linking of that code if you are
going to use an MDE. (If you are using an MDB, then you can live
dangerously: the code will only crash if references can't be resolved as
code is loaded and demand compiled).
Again to clarify by rephrasing in my own words - to get around compliation
issues, by using say, eval you can execute (and so see ) upstream
code, which access wouldn't see during compile?

For example, I've got code in my second level library (c.mdb) which
calls back into my base projects (a.mdb) to get application
customisation data set at build time.


Good example of when this could be needed - but what do you mean by build
time?

Thanks for your thoughts david
Glenn
Nov 13 '05 #5
> Just to clarify - when you say any class module,
class or module - I really meant an MDE, which appears
in the object viewer as a class with function methods.
issues, by using say, eval you can execute upstream Yes
but what do you mean by build time?
We have 10-15 mde's in the project. The build process
includes setting the build date, version number,
application name, menu's, etc.

(david)

"Glenn Davy" <gS***********@tpg.com.au> wrote in message
news:pa****************************@tpg.com.au... On Thu, 24 Jun 2004 18:07:22 +1000, david epsom dot com dot au wrote:
q1: My understanding is that the class tweak is more
difficult to implement in A2K3 than it was in A97. You
may want to search around for more information on that.


Thanks for the tip, you're understanding is correct - I've just compared
2000, 2002 and 2003. In access 2000 and 2002 it was quite simple to
impliment, but in 2003 things don't work properly.

q2: Yes, an access project can use code in any loaded class/module.


Just to clarify - when you say any class module, you mean class module
which has been tweaked?
However, you don't have the class libraries of any child or indirectly
referenced projects at compile time, so you have to use run,eval,SQL,
runcode or whatever to prevent early linking of that code if you are
going to use an MDE. (If you are using an MDB, then you can live
dangerously: the code will only crash if references can't be resolved as
code is loaded and demand compiled).


Again to clarify by rephrasing in my own words - to get around compliation
issues, by using say, eval you can execute (and so see ) upstream
code, which access wouldn't see during compile?

For example, I've got code in my second level library (c.mdb) which
calls back into my base projects (a.mdb) to get application
customisation data set at build time.


Good example of when this could be needed - but what do you mean by build
time?

Thanks for your thoughts david
Glenn

Nov 13 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: phatnugs420 | last post by:
Hi all, thanks for all your help last time.. Unfortunately I couldn't get any of the suggestions to work and because of time constraints I had to go to something that I knew worked... But I'd like...
27
by: Dave Anderson | last post by:
Last September, some of us engaged in a discussion of freeing resources in ASP scripts written in JScript. It can be seen here: http://tinyurl.com/2flzt I recently read Eric Lippert's article on...
4
by: aten | last post by:
I'm writing a program that has a section that requires the comparison of two wav files. The sound files will be really small. I'm interested in sounds like a hand clap, or wood hitting wood, or...
4
by: Tom | last post by:
I want to stream objects to sockets and/or files. wxWindows supports this, but I don't think it uses standard streams. I think it uses it's own. Boost doesn't have system services I think. ...
18
by: JKop | last post by:
Here's what I know so far: You have a C++ project. You have source files in it. When you go to compile it, first thing the preprocessor sticks the header files into each source file. So now...
16
by: matthurne | last post by:
I just started learning C++ on my own...I'm using Accelerated C++. Something it hasn't explained and I keep wondering about is how header files actually work. I suspect it doesn't get into it...
11
by: JS | last post by:
I am a bit confused about the meaning of object files (.o). I read this in a make file: lotto: main.o init.o select.o sort.o display.o gcc main.o init.o select.o sort.o display.o -o lotto ...
1
by: Karthik | last post by:
Hi, I have been using GDI+ and Windows Media SDK to get the metadata information for image and audio files respectively. Just incase if someone is not clear as to what I mean by metadata...
1
by: Thomas Voigt | last post by:
Hi, I would like to extract information about used symbols in object files. The objective is that we have some pretty old libraries most of which have been marked as deprecated over time and we...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.