Brian said:
Using Access 2000, I have a form with a number of Memo
fields - each has a vertical scroll bar. In one field, on
one record (so far), when I scroll to the bottom, the
application closes without warning, causing the data
entered to the field to be lost. Anyone know why this
happens and what I can do to stop it (apart from the
obvious - don't use the scroll bar!)
I strongly suspect some form of corruption in your database, though I'm
not sure whether it's corruption in the form or in the table. If you
open the table as a datasheet and look at the particular record and
field, do you see anything peculiar? Can you examine the entire content
of the field? Does it happen with other records, or only this one?
If it looks like the corruption may be in the table, try these
instructions, originally posted by Peter Miller of pksolutions.com:
------- Peter Miller on repairing a corrupted table -------
Extract all the non-corrupted tables to a new file. Then extract the
table definition for the corrupted table (if it was the table definition
that was corrupted rather than the table data, you would not have been
able to open the table and see its data at all). Now create a link to
the corrupted table from the new database. All of this you may have
already done, but here's where you missed something. When you extract
the data from the corrupted table, only bring over the clearly
non-corrupted records. Whether you copy and paste or use other means,
do not include corrupted records in the range you are moving. If you
include corrupted records you probably (but non always) will not be
able to complete the data port. If you have many corrupted records,
you will have many data ranges (of good records) to specify and move,
but taking this approach almost always works in such cases.
------- end quote -------
If it looks instead as though the corruption may be in the form, you
could try exporting the form to a text file using the undocumented
Application.SaveAsText method, then reloading to a new form using
Application.LoadFromText:
Application.SaveAsText acForm, "MyForm", "C:\Temp\MyForm.txt"
Application.LoadFromText acForm, "MyForm1", "C:\Temp\MyForm.txt"
' Then test to see if form "MyForm1" works okay.
If that doesn't work, you may have to recreate the form from scratch.
For more information about database corruption, see Tony Toews' Corrupt
MDB FAQ page:
http://www.granite.ab.ca/access/corruptmdbs.htm