View Single Post
  #6  
Old June 7th, 2010, 02:24 PM posted to microsoft.public.access.queries
John Spencer
external usenet poster
 
Posts: 7,815
Default Delete Query not Working

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.
.