Hi Vladimir,
Most JET database corruption is caused by interrupted write operations. The
Compile on Demand option allows one to run code in their database without
first compiling it--it is literally compiled on demand, as needed, as each
module is loaded. Suppose a developer has code in module A that will not
compile, but releases the database to production in an uncompiled state. If
code in another module is executed, which involves opening a recordset to
edit records and which includes a call to a function in module A, then a
update operation could potentially be left in an incomplete state. I would
not put it above the realm of possibility that such code that chokes in the
middle of a write operation might result in a corrupted database. Pure
speculation on my part, but I think it is certainly a possibility.
Here is information that I have previously posted on this subject. Scroll
down the page a bit, until you see the section titled Avoid "Compile on
Demand":
http://www.access.qbuilt.com/html/gem_tips.html#VBEOptions
FYI - As you read more posts on the newsgroups microsoft.public.access.X
(and comp.databases.ms-access), there are certain names that you will start
recognizing as generally providing trustworthy information. David Fenton is
one of those people. He knows more about the inner workings of Access than
the average person.
Tom Wickerath
Microsoft Access MVP
http://www.access.qbuilt.com/html/expert_contributors.html
http://www.access.qbuilt.com/html/search.html
__________________________________________