Access XP vs. Access 2000 problem

J

Jenny

Hi,
Does anyone come across this kind of problem? and how do
you solve the problem?

I have a database developed in Microsoft Office
Professional XP,but in Access 2000 format.

Now my client has only Microsoft Office 2000 (Access
2000) to open my database, every time when the client
open the database developed in XP using Access 2000, it
gives him the Compile error: can not find object.

When I developed the database, each time I defined to use
an object, I did this way:

Dim db as DAO.Database
Dim rst as DAO.Recordset

It works in XP, but I don't know why Access 2000 doesn't
work, what should I do to solve this problem?
Thanks for any help.
Jenny
..
 
C

Chris Mills

A 2000 format mdb developed under Access XP can't just be run under Access
2000, though the fix is fairly simple.

"Microsoft Access 10.0 Object Library" (for XP) needs changing to
"Microsoft Access 9.0 Object Library" (2000).

....under Tools, References, then a recompile.

There could be other reference version differences, but that's the main one.

Chris
 
G

Guest

Thanks for your help.
I've changed into the Microsoft Access 9.0 Object Library
(2000), but I still got the problem to run. Is there any
other references that I need to include?
Jenny
 
C

Chris Mills

It's a matter of (using Access 2000), looking at the list of references
(Tools, References) and see if any are marked "missing". If they are missing,
you must find them, replace them, or perhaps remove them.

Access by default includes a number of references which may not actually be
necessary (the one I gave IS necessary and there are about 3 essential
ones).(the others are "Visual Basic for Applications" and "Microsoft DAO xx
Object Library"-in your case for DAO. I'm not sure if the DAO version changed
check what's available in AXP and A2k, the silly thing is that the library
version might have changed but your code itself won't)

The way you find out if a reference is necessary (preferably using a copy) is
to remove a reference and see if your mdb still compiles. If the mdb still
compiles then that reference was unnecessary.

In your case, you are working the other way from a "non-functioning mdb",
where a reference is "missing" and you don't know which. My first sentence
should indicate which.

I agree (implied) that you should be able to run a 2000-format mdb on Access
2000. But the fact is, you really need to test it under that system, because
the references may be/are different. Therefore, the least references you can
get away with, the better. This applies to ALL Access development/it's one of
the biggest compatibility problems with Access, but not too big a deal once
you're use to it. Trouble is, I never get used to it ;-)

Chris
 
J

Jenny

Hi Chris,
I wanted to thank you so much for your great help. Based
on your suggestions, I've solved my Access problems.
Thanks,
Jenny
 
C

Chris Mills

Thanks you're very kind to acknowledge. There's a baker's dozen or more people
in this ng who have educated me too on this. Chris
 
E

Emily

Hi Jenny & Chris,

I've faced the same problem as Jenny. When I tried to
change the Reference "Microsoft Access 10.0 Object
Library" to "Microsoft Access 9.0 Object Library", the
messgae "Can't remove control or reference; in use"
is shown and I can't change.

Jenny, did you get this problem ?

Thanks,
Emily
 
C

Chris Mills

That seems true enough if you try and do that in Access XP. You need to open
it in Access 2000 to remove the 10.0 Lib and insert the 9.0 Lib (the 9.0 Lib
won't even be there except under Access 2000 will it?)

If you don't have Access 2000, whoever you're sending it to would need to do
it (whatever).

Chris
 

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