Access97 conversion to Access2002 OWC10 and other references

M

MCB1

I have written a database in Access/VBA, (Windows 98; Access 97 SR-1). I
have now moved it onto an XP PC, and converted it to Access 2002 SP3. It runs
and compiles fine on my PC. I have 'secured' it by making it into an mde
file, having removed the startup options and allocated a dummy menu bar that
has no items on it, (ie no one can get at any of the Access menu/shortcut
items). The startup form controls all the contained forms and functionality.
The main tables are split out to a seperate back end file on our network.

I have put the mde front end on to various PC's, and all seems well on
most of them. On other PC's I seem to be having a problem. On those PC's I
have put the un-compiled mdb file so I can debug, (the original mde flags a
message box saying it can't find a reference).
When I try to compile the mdb file on the suspect PC's, a message comes
up saying 'Your Microsoft Access Database or Project Contains a Missing or
Broken Reference to the File OWC10.dll ver 1.1'
This is then followed by an error for the 'Date' function, syaing it
can't find the Project or Lirary...
When I go into the references, there is a tick against
'MISSING:Microsoft Office XP Web Components' and the location given for the
missing file is 'C:\Program Files\Common Files\Microsoft Shared\Web
Components\10'. If I de-select the ref to the 'MISSING' file and scroll down
the list of references to select it, (as given in the Access help file), it
is not listed. I have checked the location path above, and the dll is exactly
where its supposed to be...
If I use the browse button on the references to point at the dll, the
mdb file then works fine. It will compile ok into the mde on that machine,
and that then works, including solving of the error for the 'Date' function,
(what the date function has to do with OWC10.dll is a mystery to me!). The
original mde still does not work. I do not want to have to re-compile on each
PC that gives me this problem, and I can't change the reference in the
pre-compiled version.
It seems that Access on my PC, and the PC's it originally worked on have
SP3 installed in the Access 'Help>About box', where as the other PC's do not.
Is this the cause of the problem? (Although I still don't understand why it
says that the reference is missing, when the OWC10.dll is in the correct
place...)

The strange thing about all this is that the original project in Access
97 only had references to 'Visual Basic For Applications', 'Microsoft Access
8.0 Object Library', 'Microsoft DAO 3.51 Object Library', and 'Microsoft
Common Dialog Control 6.0'. But the conversion in Access 2002 SP3 has added,
(seemingly of its own accord!?), additional references to 'OLE Automation',
'Microsoft Visual Basic for Applications Extensibility 5.3', and the
'Microsoft Office XP Web Components'.
Can anyone explain why these seemingly not required references have been
added automatically by Access 2002 when it has done the conversion? (or if
there is a reason why they are required...)
 
G

Guest

Can anyone explain why these seemingly not required references have
been
added automatically by Access 2002 when it has done the conversion? (or if
there is a reason why they are required...)

Someone just thought it was a good idea. VBA is a general
product, and somewhere someone thought that these would
be good default values.

Remove them all.

Also, what do you want "Common Dialog Control" for? If you are
using it, you can find code to use the Windows Library directly instead.

(david)
 
M

MCB1

Thanks for the info. Still not sure why the ref comes up as missing when the
file is actually there tho!

I'm using the common dialog in my startup form, as when it starts up I
refresh the links to the back end tables, and if it cannot find the BE file I
bring up the file load box in my error handler to allow the user to navigate
the network and select the BE file. This seemed like the easiest method, (3
short lines of code), but if there is another way I'd be interested to know.
(I usually program in VB6, and find the minor differences in VBA frustrating
sometimes! This is the first db I've done, and I was asked to do it in VBA,
not quite sure why, but hey...)
 
D

Douglas J. Steele

If a referenced file on the client machine isn't the same version (and in
the same location) as on the developer's machine, it can end up being marked
as MISSING.
 
M

MCB1

Yes, thats the case, my PC has service pack 3, which updates that dll to
10.0.6619.0, where as the others don't, being 10.0.2621.0. Thanks.
 
G

Guest

the network and select the BE file. This seemed like the easiest method,
(3
short lines of code), but if there is another way I'd be interested to
know.

You are correct, that is an easy method, and the only reason
to avoid it is just to avoid all type libraries whenever possible.

In the current version of Access, you would probably access
the common dialog library through the Application object, but
that wasn't possible in A97

code to use the common dialog library directly:
http://www.mvps.org/access/api/api0001.htm

(david)
 
M

MCB1

Thanks David, I'll have a look at that. I really ought to start using the
latest version rather than Access97, I must ask IT for an upto date laptop!

`¬)
 

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