I use Delphi 2006, Access 2003, ADO. Provider is Microsoft.Jet.OLEDB.4.0.
I'm writing a stand alone application that uses two tables with
I decided to use TADODataset. CursorLocation is clUseClient and CursorType
In the AfterOpen event of both ADODatasets I set
ADODataset.Properties['Update Criteria'].Value := adCriteriaKey;
Master primary key is based on two fields: Date (that is ftDateTime) and
Detail table contains the same two fields (Date and Time) and an index based
on those fields.
Master/detail relationship is consequently based on Date and Time.
In Access I set up the relation and I set also the referential integrity
with cascading update and cascading delete.
Everything worked fine during all the tests.
But one day I had to change the Date value of a record in the Master table
and here is my problem.
Date field in Detail table is NOT updated and the corresponding record
disappears from detail grid until I move back to the old Date value in the
master table. That is, the relation is broken for that record.
Why does this happen? What's wrong? If I do the same change of Date value
using Access instead of my application, the corresponding value in Detail
table is regularly updated.
Thanks for your help.