To prevent duplicating the records, use a subquery in the WHERE clause of
your Append query statement.
INSERT INTO PubDue (...
SELECT ...
WHERE NOT EXISTS
(SELECT PublicationID FROM PubDue AS Dupe
WHERE (Dupe.PublicationID = 99) AND (Dupe.DueDate = #1/1/2008));
Hopefully you have enough SQL experience to match up the subquery to the
main record, replacing the literal place holders (99 and date) in the
example.
If subqueries are new, here's an introduction:
http://allenbrowne.com/subquery-01.html
Regarding deletion, this might be a good candidate for cascading a delete.
In the Relationships window, you probably created a relation between the
Publication table and the PubDue table. If you double-click this line and
check the boxes for Referential Integrity and for Cascading Delete, it will
automatically delete all PubDue records for that publication when you delete
it from the Publication table.
If you don't want to use cascading deletes, execute:
DELETE FROM PubDue WHERE PublicationID = 99;

Signature
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.
> Ok,
>
[quoted text clipped - 33 lines]
>
> Sci x
Scitea - 30 Sep 2008 16:20 GMT
Ok, I get it all apart from the PublicationID=99
What I have set up is a form to create the new record, then that leads to
another form to run the append query. The PublicationID is an autonumber, so
how do I enter it into the subquery so that it will change everytime the
records are updated without physically having to change the number?
This is all getting rather complicated! Thanks so much for your help!
Sci x
> To prevent duplicating the records, use a subquery in the WHERE clause of
> your Append query statement.
[quoted text clipped - 59 lines]
> >
> > Sci x
Allen Browne - 30 Sep 2008 23:20 GMT
When you enter a new publication into your form, Access assigns a new
PublicationID (autonumber.) I assume that you use the AfterInsert event
procedure of this form to insert the new records into the PubDue table.
Alternatively, if you are using a query drawing existing records from the
Publication table, and ensuring that each one has the desired records in the
PubDue table, then you already have the PublicationID in the main query. The
subquery can refer to that:
WHERE Dupe.PublicationID = Publication.PublicationID
or whatever the tables/fields are called.

Signature
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.
> Ok, I get it all apart from the PublicationID=99
>
[quoted text clipped - 78 lines]
>> >
>> > Sci x