I finally found a solution for this after much trawling of forums so I thought I'd post it
If you have to use a vba sql command to delete records on a sub form because the subform's Recordsource is based on joined tables you can avoid the #deleted records after delete by calling a refresh on...