Delete Table1.*
From Table1
Where Exists( Select 1 From Table2 Where Table2.Name = Table1.Name ) = True
Чтобы расширить мой ответ, официальная спецификация SQL не предусматривает использование соединений в запросах действий, поскольку это может привести к неоднозначным результатам. Таким образом, было бы лучше (и Access намного счастливее), если вы можете избежать использования объединений в запросах действий, как я здесь. Причина, по которой Access хочет DISTINCTROW, заключается в том, что соединение между двумя таблицами, вероятно, создаст дубликаты строк Table1 (т. Е. В Table2 есть несколько связанных строк), и, таким образом, Access запутается. Я также обнаружил, что если вы попытаетесь использовать Join, а первичный ключ не существует, Access будет заблокирован. В общем случае лучше избегать объединения в запросе действия, если можете.