Access 2002 Crashes

G

Guest

I am using a database that collects information through some data access pages.

periodically, i will be working in the database and the data in the form
fields will explode into strange criptic sort of fonts.

That record is now corrupt and when I attempt to move the curser, the
database crashes.

When I attempt to reopen it, I get an error message saying the database
needs to be cleaned.

It goes into the compact cycle but crashes again.

I cannot get back into the database and must go back to a backed up version.

Please! Please! someone help!
 
A

aaron.kempf

I jsut reccomend using Access DAta Projects (SQL Server) with your
DAPs instead of MDB

I've had some WONDERFUL ADP Daps over the years.. but I sure as heck
won't use MDB for anything because it's not reliable enough for real
world usage
 
G

Guest

Hi Dan,

It sounds to me like you have some corruption going on. Here are two good
web sites that discuss causes of JET database corruption:

Preventing Corruption (Allen Browne)
http://allenbrowne.com/ser-25.html

Corrupt Microsoft Access MDBs FAQ
http://www.granite.ab.ca/access/corruptmdbs.htm

Here is my standard blurp for dealing with minor corruption. I'm going to
recommend that you do this, but with a slight modification shown below:

<Begin Blurb>
Create a brand new database and immediately disable the NameAutocorrupt
feature (see: http://allenbrowne.com/bug-03.html for reasons why you want to
do this). Then import all objects from the suspect database into the new
database, one group at a time. In other words, import all tables (but not
linked tables), then import all queries, then all forms, etc. While Access
will allow you to import all objects in one operation, the experts at FMS,
Inc. (a Microsoft Partner), have stated that it is best to import objects one
group at a time (Reference:
http://www.fmsinc.com/ubb/Forum12/HTML/000285.html).

Recreate any linked tables from scratch. Access can cache a lot of
information about linked tables, which may no longer be valid, so it's always
best to recreate the linked tables from scratch. When importing local tables,
make sure to check the option to import relationships, menus and toolbars,
and import/export specs. If any of the local tables in the source DB are
hidden, you'll need to first unhide them. You will need to set the checked
references to match the source database, along with any startup options set
under Tools > Startup. Going through this process often times solves
corruption problems, because you get a new set of the hidden system tables
(the tables whose names start with "MSYS"). These system tables are updated
appropriately as you import objects.

This may sound like a lot of work, but it really isn't. Creating a new
container DB, disabling NameAutocorrect, importing all objects one group at a
time, re-establishing any linked tables, setting startup options, and setting
references to match the source DB is usually a fairly quick procedure. When
you are in the Visual Basic Editor, in order to check that the references
match the source DB, you should do a Debug > Compile ProjectName as well.

</End Blurb>

The modification that I recommend is do not import the table that is showing
signs of corruption. Instead, use the following procedure to first create a
copy of the structure of this table in the original database (steps 1 - 3).
Then import this empty table into your new database. Recover the data
following step 4 in your new database:

Recovering from table corruption
1. Select the table that has the corrupted record(s).

2. Copy the table (Ctrl C). Paste the structure only of this table into a
new table name (Ctrl V).

3. Select the original table again. Click on File > Export... In the Save
as type dropdown, choose Text Files (*.txt; *.csv; *.tab; *.asc). Use the
option to export as delimited. Use a comma as the delimiter, and place a
check in the Include Field Names on First Row.

4. Open the new table. Attempt to import the data from the .csv text file
that you saved earlier. If all goes okay, you can delete the original table,
and re-establish relationships to the new table.

Note that if you used an autonumber field, then you may need to first
restore to a long integer, and then use an append query to append the records
to yet another new table, in order to restore the correct autonumber values.
Here are a couple of Microsoft KB articles for methods on dealing with table
corruption:

How to recover data from a damaged database table or a corrupted
database table in Access 2000, Access 2002 or Access 2003
http://support.microsoft.com/?id=247771

How to Recover Data from a Corrupted Table by Using the DAO Method
http://support.microsoft.com/?id=815280


Good Luck!

Tom Wickerath
Microsoft Access MVP
https://mvp.support.microsoft.com/profile/Tom
http://www.access.qbuilt.com/html/expert_contributors.html
__________________________________________
 

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