Delphi 3 STRANGE BEHAVIOUR with Access 95

I am having problems creating a very simple master/detail application
using Delphi 3 Pro and Microsoft Access 95.

Delphi incorrectly interprets the referential integrity relationship,
and displays a strange error message that should never appear.

Would someone please take a look at the attached ZIP file containing the
Delphi 3 source code and Access 95 database, and try to reproduce the same
problem.

Alternatively follow the steps detailed below.

Any help on this would be very much appreciated.

Many thanks
Matthew Marsh

1.      Installed Windows NT Workstation 4 as brand new installation.
2.      Installed Service Pack 3 and rebooted.
3.      Installed Office 95. I only installed Access 95 and the necessary
        data access options, and rebooted.
4.      Installed Delphi 3 Professional and rebooted.
        The Delphi installation options chosen were-
        - Program Files - WinSight32, Image Files, Debug Library Files,
           VCL Source, Help Files
        - Database Desktop
        - BDE

I then setup a test application as detailed in the following steps

1.      Create new Access 95 database in C:\Contacts\Test.MDB

2.      Create new table with fields

                CompanyID       - as text field, size 50, and a key field
                CompanyName     -as text field, size 50

                Save this table as CompanyDetails.

3.      Create new table with fields

                ContactID       - as AutoNumber field, and a key field
                CompanyID       - as text field, size 50
                ContactName     - as text field, size 50

                Save this table as ContactDetails.

4.      Create relationship between CompanyID fields of each table.
        Enforce referential integrity.
        Do not select any cascade options.

5.      Using Delphi Database Explorer,
        Create an MSACCESS alias called Contacts,
        Set Database Name to C:\Contacts\Test.mdb
        Apply the settings and ensure the two tables appear correctly.

6.      Using Delphi 3 Professional,
        From the Database menu select Form Wizard,
        Select create a master detail form, using TTable.

        Select the Contacts alias and choose CompanyDetails as the master
        table,
        add all fields,
        keep default horizontal layout.

        Selecte ContactDetails as the details table,
        add all fields,
        select 'in a grid' layout.

        Join the two tables by selecting CompanyID for both detail and master.

        Generate form and datamodule.

7.      Once the fields appear on the form, run the application.

8.      Add two or three records containing both company names and
        contact names.

        e.g     In the CompanyID field enter    - BUILDING
                In the CompanyName field enter  - Building Company

                Remember to post the company name before entering
                the contact name below.

                In the ContactName field in the grid enter      - Paul Smith

9.      Once you have entered a few records, go back to the first record
        and change the contents of the CompanyName field.

10.     Now try to post these changes.

I get the following error message- (yes the message is incomplete, it is
not a typing mistake).

"General SQL error.
Can't delete or change record. Since related records exist in table
'ContactDetails', referential integrity rules would be v
Table."

begin 600 Delphi3.zip
<uuencoded_portion_removed>
.$0`1`!($``#4GP0`````
`
end