Ah, well, I see why we were a little confused--you have a DomainName column and a DomainName table, which is confusing enough, but on top of that the column isn't the primary key of the table, but of a different table. That's legal, but very odd. It implies that many rows in the DomainName table can have the same domain name. Since names are natural "unique" identifiers, that seems unlikely. I have to wonder whether you have analyzed your relationships correctly.
In any event, with this structure your Update Cascade and Delete Cascade rules will work correctly. If you update a domain name in Contact Details, it will be updated automatically in the child tables. If you delete a row from Contact Details, the corresponding rows in the child tables will be deleted.
There is no Insert Cascade rule, however. Again, how could there be? The relationships from Contact Details to the other tables are one-to-many, so inserting a new domain name in Contact Details could mean that there are potentially many rows to insert in the child tables. How could Access know how many are needed in each table? And what would it put into the other columns of the child tables (other than the Autonumber keys)?
If you create one big join with the Contact Details table and all the child tables in it, you could then create a form based on that join, with which you can simultaneously insert rows into Contact Details and the child tables. The join query must contain all the DomainName columns, and the Contact Details.Domain Name column must be the one that appears on the form. However, you could only use this form to add the first row in any child table for a given domain name. If you had a second Service for this domain name, for example, you'd need a different form.
Rick Sprague
Want the best answers? See faq181-2886
To write a program from scratch, first create the universe. - Paraphrased from Albert Einstein