A
Adrian
Wondering if someone can shed light on a data corruption problem.
I have an Access database reading its data from a back end .mdb file. The
main data entry form is bound to a query which obtains data from two tables
which have a one-to-one relationship: ie primary key linked to primary key.
The form itself has a combo box with which to choose the relevant record
which then displays OK. There are a number of buttons which allow a sub set
of the data to be displayed if data entry is needed into these fields of
secondary importance. They are all invoked with code which includes
if me.dirty then me.dirty=false
before they open in order to commit unwritten data to the database first.
The main form also has a button which invokes a couple of reports based on
the record currently displayed on the form. It leaves the form open when the
reports are invoked, inspected, printed and then closed by the user.
Using this main form appears to cause apparently random data corruption in
one of the underlying tables. This usually manifests itself with between one
to three records in the left hand side table being corrupted.
This can usually be solved with a compact and repair, a delete of the now
corrupted records and replacement with earlier data. But it's incerdibly
disruptive for the user, and data is at risk of being lost.
The databases are the PC's hard disc (ie not over a network). The PC has all
the latest service packs as recommended by Microsoft's piece on avoiding
data corruption.
Any thoughts would be much appreciated!
Thanks
I have an Access database reading its data from a back end .mdb file. The
main data entry form is bound to a query which obtains data from two tables
which have a one-to-one relationship: ie primary key linked to primary key.
The form itself has a combo box with which to choose the relevant record
which then displays OK. There are a number of buttons which allow a sub set
of the data to be displayed if data entry is needed into these fields of
secondary importance. They are all invoked with code which includes
if me.dirty then me.dirty=false
before they open in order to commit unwritten data to the database first.
The main form also has a button which invokes a couple of reports based on
the record currently displayed on the form. It leaves the form open when the
reports are invoked, inspected, printed and then closed by the user.
Using this main form appears to cause apparently random data corruption in
one of the underlying tables. This usually manifests itself with between one
to three records in the left hand side table being corrupted.
This can usually be solved with a compact and repair, a delete of the now
corrupted records and replacement with earlier data. But it's incerdibly
disruptive for the user, and data is at risk of being lost.
The databases are the PC's hard disc (ie not over a network). The PC has all
the latest service packs as recommended by Microsoft's piece on avoiding
data corruption.
Any thoughts would be much appreciated!
Thanks