2016-08-31 3 views
1

내 레코드를 선택한 하위 쿼리를 설정 한 다음 작업을 수행하기 위해 삭제 쿼리를 설정했습니다. 내가 그것을 실행하면, 난라는 오류 메시지가 :MS 액세스에서 삭제 쿼리를 가져 오는 방법

지정된 테이블 여기

에서 삭제할 수 없습니다 삭제 쿼리 내 SQL 코드 :

PARAMETERS UnitID Short; 
DELETE DISTINCTROW qry_exp_comments_select.* 
FROM qry_exp_comments_select; 

그리고 호출 된 서브 쿼리 :

PARAMETERS UnitID Short; 
SELECT tbl_Comments.*, tbl_Activity.ActivityID 
FROM tbl_BusUnits INNER JOIN (tbl_Activity INNER JOIN tbl_Comments ON tbl_Activity.ActivityID = tbl_Comments.ActivityID) ON tbl_BusUnits.UnitID = tbl_Activity.UnitID 
WHERE (((tbl_BusUnits.UnitID)<>[UnitID])); 

왜 쿼리가 작동하지 않습니까? 나는 다음과 같은 스레드에서 하나를 설정하기 위해 노력했다 : MS ACCESS delete query syntax combined with inner join problemstbl_Commentstbl_Activity의 모든 레코드를 삭제하기 위해

답변

1

나는 그들이 Cascade Delete을 가질 수 있도록 테이블의 관계를 변경하고해야 할 일을했을 모든 활성화되었습니다.

tbl_BusUnits의 간단한 삭제 쿼리는 다른 테이블의 모든 관련 레코드도 삭제합니다. 삭제 쿼리에 대한

코드를 다음과 같이

PARAMETERS UnitID Short; 
DELETE DISTINCTROW tbl_BusUnits.UnitID 
FROM tbl_BusUnits 
WHERE (((tbl_BusUnits.UnitID)<>[UnitID])); 
관련 문제