Reasons for Corrupt VBA in access executable


G

Guest

Does anyone know why one would get a VBA is corrupt message when trying to
run a mde file? The file was built as a .mdb, compiles without error and
converted to a .mde using "Microsoft Access 2003 developer resources-custom
start up wizard" without a problem. Application has been installed on a
number of machines without error using AccessRt2003, although it appears
that one of the users did previously have a previous runtime. Any Ideas?

Also why would one get a MSAI900.dll is missing error?

Thanks
 
Ad

Advertisements

A

Allen Browne

Since you created the MDE with A2003, it must be in A2002/03 file format.
Although A2002 and A2003 use the same file format, the binaries (VBA
compiled code) are different.

So if the user had the A2002 runtime on their machine (or installed it after
your application), and the A2002 runtime tried to open your A2003 MDE, it
cannot read the A2003 binary in the file. The result is that A2002 reports
that the A2003 VBA is corrupt. Of course it isn't: it's just that A2002 is
incapable of reading the A2003 binary.

This problem shows up only in an MDE; in an MDB, the versions just recreate
the compiled code from the text if they don't understand the binary.

I'm not sure what the issue is with MSAI900.dll. Perhaps someone else can
comment on that.
 
Ad

Advertisements

G

Guest

Thanks Allen for your prompt reply and precise explaination:

I thought something like this would be the case, so I uninstalled all of the
Runtime environments from the user's computer, and then reinstalled soley
rt2003. After this point is when the msai900.dll error.

This error still persists after the reinstall, an installation of an office
update 2 patch and a repair of office XP components.

Any help would be much appreciated
 

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