Access closes on click events

A

Aaron

My company uses Access 2002 as a front end application that links backend
tables to into on startup. We have hundreds of forms with two kinds of third
party ActiveX controls that can be on any random form. One of the ActiveX
controls in a calendar control and the other is a button control. We've
noticed recently that now that we've applied the button control heavily into
the program that Access has a tendency to crash completely off the screen
without warning when we enter certain forms and click something. The problem
is consistent but random in nature, this means it can be duplicated easily by
doing the same thing over and over but the problem happens in different
situations in the program, ie: bound forms, unbound forms; a lot of controls,
maybe one control.

Now we've exhausted just about everything that we can think of from
rebuilding the database, rebuilding the forms, and installing the latest
patches for Access. When this first happened it was on a bound form and I
completely remade the form and rewrote the code to have the form unbound and
this worked in that instance but we have a form right now that is completely
unbound that crashes Access on a single click.

Does anyone have any ideas on this at all?
 
A

Allen Browne

Aaron, there's a *lot* of things this could be, so no promises, but it would
be good to eliminate the well-known causes and see what's left.

First up, Name AutoCorrect is the source of well over a dozen bugs. More
info:
http://members.iinet.net.au/~allenbrowne/bug-03.html

Secondly, there's a bug in A2002/2003 that seems to relate to the
AccessField type. If a subform control has a field name in its
LinkChildFields, and that field is not represented by a control in the
subform (as foreign keys often are not), then it can begin to crash. Add a
text box for the f.k. field to the subform and forcing Access to recompile,
and it is now dealing with an object of type Textbox instead, which avoids
the bug.

Thirdly, try decompiling a copy of the database by entering something like
this at the command prompt while Access is not running. It is all one line,
and include the quotes:
"c:\Program Files\Microsoft office\office\msaccess.exe" /decompile
"c:\MyPath\MyDatabase.mdb"

A decompile is especially important if you open the database in A2000 or
A2003 as well as A2000. Each version uses a different binary, so decompile
with the version you have been using before you switch to a different
version.

Presumably you know not to allow different users to open the same mdb file
at the same time and create/modify the objects.

I assume you have already applied SP3 for Office XP, and SP8 for JET 4.

JET is particularly vulnerable to crashing with certain types of subquery as
well. You will know if this is likely to be a factor.

Other general ideas on preventing corruption:
http://members.iinet.net.au/~allenbrowne/ser-25.html

HTH
 
Top