473,410 Members | 1,875 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,410 software developers and data experts.

MS Access DLLs, OCXs, References

SAM
Hi everyone,

I consider myself a very competent programmer when it comes to actual
programming and analyzing the business that I'm modelling. I am now
crossing into what I would consider Access admin/config territory, an
area
where I generally suck at.

Here is my problem. I do all my programming on my laptop before
giving
the mdb files to my clients. Virtually everything works on my
machine, but
the simplest things stop working when I move my files to another
computer.
I'm pretty sure that it has something to do with changed file paths
and missing DLLs and OCXs. I'm running Access 2003.

Some of the most basic functionality that stops are the LEFT, RIGHT,
MID, FORMAT, and CHR functions. Those are the ones I use mostly,
anyway. I'm sure others are knocked out too. There is a simple
workaround where I just put "VBA." in front all those functions.
Unfortunately, if I use those functions directly in a query, even the
"VBA." does not help. I have to create a module to call the VBA.LEFT
function and return the string to the query. Not an elegant or ideal
solution, but at least it gets the job done without wasting too much
time. I would expect that this is a simple fix.

I have incorporated a lot of cool functionality and objects into
various
projects including the Common Dialog Box, FileSystemObject, Faxing,
Emailing,
Depending on the machine that I load files to, different functionality
gets
knocked out. It doesn't appear to be consistent. Everyone's list of
references
are slightly different and I am having a tough time locating a
specific reference or closely-related reference to replace the missing
one.

First question. Why does this happen in the first place. My laptop
is dual boot and all my work files and applications are on the D: Boot
Partition. That may have something to do with it. Most of my clients
are on C:. I'm using Windows 2K Server, my clients are mostly using
XP. If I do have to repoint DLLS, OCXs, and references, how do I do
that for Access? Come to think of it, this is also happening to my VB
6.0 projects. I've only noticed the CHR, etc issues so far there.

Second question. Does a particular install (typical/full/custom)
affect the amount of dlls, ocxs, etc loaded into the computer. Does
the OS matter? Why do machines have different lists (missing what
default installs I have rather than me not registering new stuff)?

FYI, here are the references in order that I'm using on my machine.
Everything that I have programmed works. There may some extraneous
ones, but "If it ain't broke, don't mess with it". If anyone can give
me or point me to a document or link that explains what references
contain that would be great.

Visual Basic For Applications
Microsoft Access 11.0 Object Library
Microsoft DAO 3.6 Object Library
Microsoft ActiveX Data Objects 2.5 Library
OLE Automation
*faxadmin 1.0 type library
faxcom 1.0 type library
*Microsoft CDO For Windows 2000 Library
Microsoft CDO For NTS 1.2 Library
Microsoft Scripting Runtime
Microsoft Visual Basic For Applications Extensibility 5.3
*Microsoft Common Dialog Control 6.0 (SP3)
Utility

The ones marked with "*" are the ones listed as missing on my client's
machine. As expected, my dialog box doesn't work. However, that
doesn't explain why my file system code and basic functions stop
working.

If someone could give me a quick References 101 course here, point me
to a good
white paper/book, or just provide the magic answer, that would be
appreciated.

Thanks. SAM
Nov 13 '05 #1
3 5862
SAM wrote:
Hi everyone,

I consider myself a very competent programmer when it comes to actual
programming and analyzing the business that I'm modelling. I am now
crossing into what I would consider Access admin/config territory, an
area
where I generally suck at.

Here is my problem. I do all my programming on my laptop before
giving
the mdb files to my clients. Virtually everything works on my
machine, but
the simplest things stop working when I move my files to another
computer.
I'm pretty sure that it has something to do with changed file paths
and missing DLLs and OCXs. I'm running Access 2003.

Some of the most basic functionality that stops are the LEFT, RIGHT,
MID, FORMAT, and CHR functions. Those are the ones I use mostly,
anyway. I'm sure others are knocked out too. There is a simple
workaround where I just put "VBA." in front all those functions.
Unfortunately, if I use those functions directly in a query, even the
"VBA." does not help. I have to create a module to call the VBA.LEFT
function and return the string to the query. Not an elegant or ideal
solution, but at least it gets the job done without wasting too much
time. I would expect that this is a simple fix.

I have incorporated a lot of cool functionality and objects into
various
projects including the Common Dialog Box, FileSystemObject, Faxing,
Emailing,
Depending on the machine that I load files to, different functionality
gets
knocked out. It doesn't appear to be consistent. Everyone's list of
references
are slightly different and I am having a tough time locating a
specific reference or closely-related reference to replace the missing
one.

First question. Why does this happen in the first place. My laptop
is dual boot and all my work files and applications are on the D: Boot
Partition. That may have something to do with it. Most of my clients
are on C:. I'm using Windows 2K Server, my clients are mostly using
XP. If I do have to repoint DLLS, OCXs, and references, how do I do
that for Access? Come to think of it, this is also happening to my VB
6.0 projects. I've only noticed the CHR, etc issues so far there.

Second question. Does a particular install (typical/full/custom)
affect the amount of dlls, ocxs, etc loaded into the computer. Does
the OS matter? Why do machines have different lists (missing what
default installs I have rather than me not registering new stuff)?

FYI, here are the references in order that I'm using on my machine.
Everything that I have programmed works. There may some extraneous
ones, but "If it ain't broke, don't mess with it". If anyone can give
me or point me to a document or link that explains what references
contain that would be great.

Visual Basic For Applications
Microsoft Access 11.0 Object Library
Microsoft DAO 3.6 Object Library
Microsoft ActiveX Data Objects 2.5 Library
OLE Automation
*faxadmin 1.0 type library
faxcom 1.0 type library
*Microsoft CDO For Windows 2000 Library
Microsoft CDO For NTS 1.2 Library
Microsoft Scripting Runtime
Microsoft Visual Basic For Applications Extensibility 5.3
*Microsoft Common Dialog Control 6.0 (SP3)
Utility

The ones marked with "*" are the ones listed as missing on my client's
machine. As expected, my dialog box doesn't work. However, that
doesn't explain why my file system code and basic functions stop
working.

If someone could give me a quick References 101 course here, point me
to a good
white paper/book, or just provide the magic answer, that would be
appreciated.

Thanks. SAM


When distributing an Access app to multiple PCs every effort should be made to
add ZERO additional references or you face exactly these issues.

Switch your code to late binding, delete all of those references, and your
problems are greatly reduced if not eliminated. At least then a missing library
only affects calls to that library and don't mess anything else up.

In addition many of the things you are using like FSO and Common Dialog can
nearly always be replaced with API calls that make using those libraries
unnecessary.
--
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com

Nov 13 '05 #2
SAM
"Rick Brandt" <ri*********@hotmail.com> wrote in message news:<37*************@individual.net>...
SAM wrote:
Hi everyone,

I consider myself a very competent programmer when it comes to actual
programming and analyzing the business that I'm modelling. I am now
crossing into what I would consider Access admin/config territory, an
area
where I generally suck at.

Here is my problem. I do all my programming on my laptop before
giving
the mdb files to my clients. Virtually everything works on my
machine, but
the simplest things stop working when I move my files to another
computer.
I'm pretty sure that it has something to do with changed file paths
and missing DLLs and OCXs. I'm running Access 2003.

Some of the most basic functionality that stops are the LEFT, RIGHT,
MID, FORMAT, and CHR functions. Those are the ones I use mostly,
anyway. I'm sure others are knocked out too. There is a simple
workaround where I just put "VBA." in front all those functions.
Unfortunately, if I use those functions directly in a query, even the
"VBA." does not help. I have to create a module to call the VBA.LEFT
function and return the string to the query. Not an elegant or ideal
solution, but at least it gets the job done without wasting too much
time. I would expect that this is a simple fix.

I have incorporated a lot of cool functionality and objects into
various
projects including the Common Dialog Box, FileSystemObject, Faxing,
Emailing,
Depending on the machine that I load files to, different functionality
gets
knocked out. It doesn't appear to be consistent. Everyone's list of
references
are slightly different and I am having a tough time locating a
specific reference or closely-related reference to replace the missing
one.

First question. Why does this happen in the first place. My laptop
is dual boot and all my work files and applications are on the D: Boot
Partition. That may have something to do with it. Most of my clients
are on C:. I'm using Windows 2K Server, my clients are mostly using
XP. If I do have to repoint DLLS, OCXs, and references, how do I do
that for Access? Come to think of it, this is also happening to my VB
6.0 projects. I've only noticed the CHR, etc issues so far there.

Second question. Does a particular install (typical/full/custom)
affect the amount of dlls, ocxs, etc loaded into the computer. Does
the OS matter? Why do machines have different lists (missing what
default installs I have rather than me not registering new stuff)?

FYI, here are the references in order that I'm using on my machine.
Everything that I have programmed works. There may some extraneous
ones, but "If it ain't broke, don't mess with it". If anyone can give
me or point me to a document or link that explains what references
contain that would be great.

Visual Basic For Applications
Microsoft Access 11.0 Object Library
Microsoft DAO 3.6 Object Library
Microsoft ActiveX Data Objects 2.5 Library
OLE Automation
*faxadmin 1.0 type library
faxcom 1.0 type library
*Microsoft CDO For Windows 2000 Library
Microsoft CDO For NTS 1.2 Library
Microsoft Scripting Runtime
Microsoft Visual Basic For Applications Extensibility 5.3
*Microsoft Common Dialog Control 6.0 (SP3)
Utility

The ones marked with "*" are the ones listed as missing on my client's
machine. As expected, my dialog box doesn't work. However, that
doesn't explain why my file system code and basic functions stop
working.

If someone could give me a quick References 101 course here, point me
to a good
white paper/book, or just provide the magic answer, that would be
appreciated.

Thanks. SAM


When distributing an Access app to multiple PCs every effort should be made to
add ZERO additional references or you face exactly these issues.

Switch your code to late binding, delete all of those references, and your
problems are greatly reduced if not eliminated. At least then a missing library
only affects calls to that library and don't mess anything else up.

In addition many of the things you are using like FSO and Common Dialog can
nearly always be replaced with API calls that make using those libraries
unnecessary.


Yes, I'm beginning to see that now. I'm usually wrapped in solving a
business or logical problem and rarely worrying about my applications
working elsewhere. Usually my projects are managed my me and people
get reports or whatever. Now that they're finding my tools and
mini-apps are useful for other parts of the business, they want me to
roll them out. So, now I HAVE to deal with this. BTW, my main
background is scientific research. I have programmed in VB/Access for
about 5 years on a small scale to do very specific (and sometimes very
sophisticated) things for my clients...mostly centered around data
analysis and reporting. However, most of that could be done with the
default Access file since it was all about logic. Now people want
cool features (email, fax, file management, etc). I've always wanted
to work on a bigger project, but I have found things to be much more
interesting on the business side, lately.

So, what do you mean exactly by LATE BINDING? I can dereference the
libraries down to the basic 4 or 5 that Access gives you by default.
I have just gone to Google and I have seen code snippets of API work
arounds for FSO and Common Dialog. I'm thinking of switching those
over ASAP. If there is an API way of handling EMAIL and FAX, that
would take care of most of what my clients ask for now. I currently
use CDO for that and if what you say continues to be true, then CDO
will smack me in the head sooner or later.

Thanks for your quick reply. SAM
Nov 13 '05 #3
"SAM" <ga*********@hotmail.com> wrote in message
news:98**************************@posting.google.c om...
So, what do you mean exactly by LATE BINDING? I can dereference the
libraries down to the basic 4 or 5 that Access gives you by default.
I have just gone to Google and I have seen code snippets of API work
arounds for FSO and Common Dialog. I'm thinking of switching those
over ASAP. If there is an API way of handling EMAIL and FAX, that
would take care of most of what my clients ask for now. I currently
use CDO for that and if what you say continues to be true, then CDO
will smack me in the head sooner or later.

Thanks for your quick reply. SAM


If you Google these groups on the term "Late Binding" you will get a great deal
of examples. Essentially Late Binding passes the creation of the object to
Windows. With early binding...

Dim MyObj as Excel.Application

....you have added a ref to the Excel library and are telling Access to go to
that *specific* library and instantiate an instance of an Excel object. With
late binding..

Dim MyObj as Object
Set MyObj = CreateObject("Excel.Application")

....your code is asking the OS to create an Excel object using whatever library
that the system registry dictates is the correct one to use.

One of the biggest advantages initially is that the library doesn't have to be
the same on all PCs. All that is required is that *some* library be present
that can create an Excel object. This means that your code is now version
independent since Excel 97 works as well as Excel 2003 for this purpose. Of
course you could be trying to do something in Excel that is only supported in a
particular version, but that is fairly rare.

It is relatively easy to switch from early to late binding and in fact most
developers recommend starting out with early binding while building the code and
then switching to late binding at the end. The reason for this is that early
binding gives you the intellisense code-completion capabilities and mistakes can
be caught at compile time that would otherwise have to be caught at runtime.
Once the code is working and thoroughly tested you can then make the necessary
changes to make it work with late binding.

--
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com


Nov 13 '05 #4

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

Similar topics

1
by: scott | last post by:
Hi, In vb.net 2003 im attempting to create an MSI using a 22 MSMs from VB6. The install path i have creted looks like this: Program Files app 1 2
3
by: Lauren Wilson | last post by:
Hello good folks! It is WAY past time for me to figure out how to check for the existence of all referenced libraries on application startup and provide feedback to the user if they are not. ...
0
by: SSW | last post by:
Hi: I'm trying to run Extended stored procedure, which is written in VC++ in window 2000 Professional. It works fine. But when I run it in windows 2003 I get following error ODBC: Msg 0,...
21
by: Chris Durkin | last post by:
I've got an ASP.NET website on my local box, set to compile to bin\Debug and bin\Release in debug and release modes. Both directories are populated with dlls, as the solution has been compiled in...
3
by: Jeff Stewart | last post by:
Is it possible, in VB.NET 2003 Standard, to link referenced DLLs statically, so I only have to distribute a single executable? -- Jeff S.
11
by: Brett Romero | last post by:
If I create a DLL (my.dll) that references other DLLs, how do I make sure other developers only need my.dll and not all of the other DLLs it references? Is there a way to compile the references...
2
by: ryansytsma | last post by:
I have an Access .mde that is connected by linked table via network to an Access .mdb. I have a "setup" area that allows a couple of lists to be edited by exposing the linked table using the do cmd...
3
by: softndesk | last post by:
Sagekey is almost there but below is the more advanced solution, although no software is hackers free as they claimed. But for ms access access deployment, I think nothing bet this product as of...
3
by: CenturionX | last post by:
Hello everybody: I'd like to know what references in my vba code are used or not. I work in a code made by another person previously, i founded to many references and i believe that someones...
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...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
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
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
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...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.