Hi Ed ---
The problem with this approach is you still have to deal with the Fee table records to avoid orphans. I'd prefer to take a bottoms-up and adjudicate the children first.
>
>RI trigger (Delete in your case) is actually DBC-stored procedure. You can check its name in Table Properties dialog. So, it's up to you to customize this procedure, e.g. by adding simple check on start:
>IF TYPE("oApp.noruntrigger")="L" && or you may also check value
>Return .T.
>ENDIF
>*** other RI code here
>So, you just need in your archive utility to set oApp.noruntrigger (or any other name) property and run it with trigger code blocked.
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05