Distributing with DAO

R

Ron Johnson

I've just upgraded to Office 2003. A colleague is still
using MSOffice 2000. I put a copy of an Access
application on a shared drive for him to play with. The
application was generated in access 2000 format. When he
attempted to try it out it came back with a compile error
on the first Recordset declaration. I then generated an
MDE, after converting the application to 2002/3 and gave
that to him - with the same result. His system has the
same DAO 3.6 object library as mine. What are we doing
wrong?
 
L

Larry Linson

And the error was....?

I suspect you have a reference to a newer version of some library, or the
location is different on your machine. But, it would have helped to narrow
the possibilities if you'd told us specifically what the error was.

Larry Linson
Microsoft Access MVP
 
G

Guest

Thanks for your attempt to get into my application with
few clues...

What I have learned since yesterday is that my application
references the latest Object libraries i.e. Excel11,
Access11, Office11...

Whereas my colleague system has the previous version. It
seems that all but Excel11 are compatible. When he opened
the MDB and reset the resources he was fine. That does
not answer my question about putting an MDE out on our
server with dozens of potential users, when the MDE
references cannot be changed - at least not to my
knowledge. I removed MSOffice 2000 and its resources
before installing 2003, is there some solution other than
somehow linking to the earlier version of the excel
library?

I should tell you that this is my first venture into
application distribution, having just loaded the access
developer extension tools last week. Any pointers in my
learning curve would be appreciated - I did get in the
mail a copy of "Access 2003 VBA" in yesterday and have
learned somewhat more about the process of application
distribution. I found a warning that installing Access
Runtime may cause more problems, if the user has an
earlier version of Office, than it solves (references) -
do you agree? If so, what do you suggest?

Again, any direction is better than trial and error!

Ron Johnson
 
R

Rick Brandt

Thanks for your attempt to get into my application with
few clues...

What I have learned since yesterday is that my application
references the latest Object libraries i.e. Excel11,
Access11, Office11... [snip]

Do a Google search on "Late Binding". This lets you make calls to outside
libraries (like Excel) without hard-coding a reference and (for the most
part) makes your code version independent.

Another BIG advantage with late binding. A missing reference causes many
functions in Access to malfunction rendering your app unusable. So even if
the outside reference is in an obscure area of the app with only a small
percentage of users needing it, if will mess up the app for anyone who
doesn't have that reference. When the outside library is missing with late
binding the portion of your app that uses that library obviously doesn't
work, but it has no negative impact on the rest of the application.

If you open a new blank file and then check your reference list you will
see the default set for an Access app. Unless you are creating an app only
for use on your own machine you should avoid as much as possible ever
adding any more references. It is seldom necessary and immediately raises
the versioning problem that you are seeing now.
 

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

Top