From: John Spencer on
You can write that as
DELETE [NumberDialed]
FROM [DailyCalls]
WHERE [DailyCalls].[NumberDialed] IN
(SELECT [PersonalCalls].[PhoneNumber]
FROM [PersonalCalls]
WHERE [PersonalCalls].[PhoneNumber] is not null)

Although in my experience I have not needed to reference a field (or all
fields) in a delete query. Then again, if you are working in the query design
view and not in the SQL view (guess where I most often work), it may be a
requirement.


John Spencer
Access MVP 2002-2005, 2007-2010
The Hilltop Institute
University of Maryland Baltimore County

John Spencer wrote:
> My error. Exteraneous AND
>
> DELETE
> FROM [DailyCalls]
> WHERE [DailyCalls].[NumberDialed] IN
> (SELECT [PersonalCalls].[PhoneNumber]
> FROM [PersonalCalls]
> WHERE [PersonalCalls].[PhoneNumber] is not null)
>
> John Spencer
> Access MVP 2002-2005, 2007-2010
> The Hilltop Institute
> University of Maryland Baltimore County
>
> SSi308 wrote:
>> John,
>>
>> I tried this syntax but get an error:
>> DELETE
>> FROM DailyCalls
>> WHERE NumberDialed in ( SELECT PhoneNumber FROM [PersonalCalls]
>> AND PhoneNumber is Not Null);
>>
>> Error is: Syntax error in query expression 'NumberDialed in (SELECT
>> PhoneNumber FROM [PersonalCalls] AND PhoneNumber is Not Null)'.
>>
>> Thanks, Lori
>>
>> "John Spencer" wrote:
>>
>>> It should be
>>>
>>> DELETE DistinctRow [DailyCalls].NumberDialed
>>> FROM DailyCalls
>>> WHERE (((DailyCalls.NumberDialed)=[PersonalCalls].[PhoneNumber]));
>>>
>>> However that will fail since you do not a have a reference to
>>> PersonalCalls in the query.
>>>
>>> You MIGHT be able to use
>>> DELETE DistinctRow [DailyCalls].NumberDialed
>>> FROM DailyCalls INNER JOIN [Personal Calls]
>>> ON DailyCalls.NumberDialed=[PersonalCalls].[PhoneNumber]
>>>
>>> The following should work with no problem
>>> DELETE
>>> FROM DailyCalls
>>> WHERE NumberDialed in
>>> ( SELECT PhoneNumber
>>> FROM [Personal Calls]
>>> AND PhoneNumber is Not Null)
>>>
>>> John Spencer
>>> Access MVP 2002-2005, 2007-2010
>>> The Hilltop Institute
>>> University of Maryland Baltimore County
>>>
>>> SSi308 wrote:
>>>> I have tried to follow many of the suggestions in other posts, but
>>>> have not been able to get this to work.
>>>>
>>>> I have a table called DailyCalls and another table called
>>>> PersonalCalls. A query was set up to return calls in the DailyCalls
>>>> table that match calls in the PersonalCalls table. When I change the
>>>> query to a Delete query I get the error: Invalid bracketing of name
>>>> '[PersonalCalls.PhoneNumber]'.
>>>> Here is the sql of the delete query:
>>>> DELETE DistinctRow [DailyCalls].NumberDialed
>>>> FROM DailyCalls
>>>> WHERE (((DailyCalls.NumberDialed)=[PersonalCalls.PhoneNumber]));
>>>>
>>>> I tried removing brackets and also adding sqare brackets around the
>>>> table names, but get the same error.
>>>>
>>>> Can anyone tell me what I have wrong?
>>>>
>>>> Thanks.
>>> .
>>>