Q:

MS Access SQL Deleting record based on external table

I had a similar question regarding selecting records based on an external table (in an unlinked table):
Access SQL FROM IN and JOINS
This time I'm trying to delete records in an internal table based on criteria in an external one. 
Private Sub Command0_Click()
    Dim SQLstring As String
    SQLstring = "Delete * FROM Testtable1 AS tnf WHERE ([Network Location].[Testtable2].[Customers] = tnf.[Customers]) AND ([Network Location].[Testtable2].[Contract] = '2003') Or ([Network Location].[Testtable2].[Active]='N');"
    DoCmd.RunSQL (SQLstring)
End Sub

Its telling me that " is not a valid name and to check if theres invalid characters or punctuation or if its too long. I cant find anything that talks about SQL lengths but i'm pretty sure this isn't too long. 
Is there something I'm missing about my SQl statement I've gone through it over and over and I'm not seeing an issue. 
Should the WHERE clause have an Exists (Select) clause?
Am I missing something?

A:

Since a delete query can only delete records from one table at a time, only one dataset can be referenced in the from clause. With your current query, you would need to reference testtable2 within the from clause, which would result in an invalid delete query.
As such, you'll instead need to use where exists with a subquery, e.g.:
delete from testtable1 as t1
where exists 
(
    select 1 from [Network Location].[Testtable2] t2 
    where t2.customers = t1.customers and (t2.contract = '2003' or t2.active = 'N')
)

I've also surrounded the or expression with parentheses, as I assume that it is the desired logic to delete records with a matching customers record and either of the other two conditions, rather than deleting any record for which t2.active = 'N' (since and has operator precedence over or).

