
Error 3197 because of corrupted Memo fields in Access 2 database, using Jet 3.50.
I am getting corruption in Access 2 databases. My VB app was previously
16-bit (VB4), using DAO 2.5 and had no such problems. I recently upgraded
the app to 32-bit (VB5) using DAO 3.50 and everything seemed OK until now -
some users are reporting error 3197. I have tracked as much info as I can:
It affects some, but not all, memo fields that contain non-blank ("")
values.
It is only the fields that are effected, other fields in the same rows are
still readable.
Error 3197, according to Access help, is a locking problem. MS Knowledge
base clarifies that the error message is misleading - the cause of the
problem is that the link between the database row and the actual memo value
has been lost.
Trying to access the corrupted memo field value in Access 95, displays the
corrupted fields as #Error and gives Error 3197 if you try to edit the
values.
It is a known bug (I think with Jet 3.5 although Microsoft are not clear if
it is specific to this version or not).
Running a repair on the database simply deletes any effected fields.
Running convert or Compact gives an error.
My thoughts so far on this are that the problem is irrecoverable (although
I'd be more than pleased if someone out there has a way to recover the lost
values). I am after a way of avoiding this issue occurring again - would
reverting my applications to DAO 3.00 solve the problem?
Thanks for your time in reading this, even if you can't help.
Kevin McGrath