2017-03-22 4 views
0

내가 달성하려는 VBA를 백업에서 삭제 쿼리를 실행하는 것입니다.쿼리를 기반으로 레코드를 삭제하려면 어떻게해야합니까?

Specify the table containing the records you want to delete.

또는이 오류 : 문제는 내 쿼리 (I 희망) 나는이 오류가 그것을 삭제 쿼리를 만들려고 할 때 내가 그러나, 나는 삭제할 기록을 분리 선택 쿼리를 함께 :

Reserved error (-3211); there is no message for this error.

내 선택 문을 읽

SELECT Manhours.*, Tickets.Status, Year([Open Date]) 
FROM Manhours INNER JOIN Tickts ON Manhours.TicketID = Tickets.ID 
WHERE (Tickets.Status) = "Closed" AND ((Year([Open Date]))< Year(DATE())-1 
     OR ((Year([Open Date]))= Year(DATE()-1)) 

SELECT 문은 내가 필요로하는 기록을 호출합니다,하지만 난 그것을 삭제 쿼리 그 오류를 만들려고 할 때.

+1

:

은 내가 찾고 있던 것을 발견했다. select 절에 두 개의 테이블을 지정하고 있습니다. 무엇을 삭제해야합니까? – Kevin

+0

두 테이블 데이터가 결국 삭제됩니다. 한 번에 하나의 테이블에서만 데이터를 삭제할 수 있다고 가정합니다. 이 예제에서 manhours 테이블은 Tickets 테이블과 관련된 레코드가 삭제되었습니다. Tickets 테이블의 기준은 삭제해야하는 Manhours 레코드 (Manhours.TicketID = Ticket.ID)를 결정하는 것입니다. 나는 이렇게하는 더 좋은 방법이 있다면 나에게 알려주기 위해 이것을하는 방법을 찾고 있었다. –

답변

0

좋은 소식! 당신은 한 번에 하나의 태블릿에서 행을 삭제할 수 있습니다

DELETE FROM Manhours WHEN EXISTS (SELECT ID FROM Tickets WHERE (Tickets.Status) = "Closed" AND ((Year([Open Date]))< Year(DATE())-1 OR ((Year([Open Date]))= Year(DATE()-1))

관련 문제