2016-06-15 2 views
0

레코드를 삭제하는 데 문제가 있습니다. 내 기본 키 Asset_ID라는 필드를 사용하여 두 테이블을 연결했습니다. 나는 일치하지 않는 모든 레코드를 가져 오는 쿼리를 생성하므로 일치하지 않는 레코드는 삭제하려고합니다. 내가 쿼리를 실행하면 "지정된 테이블에서 삭제할 수 없습니다"라는 오류 메시지가 표시되고 일부 조사가 수행되었으며 삭제 쿼리 속성으로 이동하여 "고유 레코드"옵션을 "예"로 변경하도록 제안했습니다. 일하지 않았어. 이걸 도와주세요.Access 2010에서 다른 쿼리를 사용하여 쿼리를 삭제하십시오.

DELETE DISTINCTROW [HANDHELD TABLE1 Without Matching HANDHELD TABLE].ASSET_ID 
FROM [HANDHELD TABLE1 Without Matching HANDHELD TABLE] 
WHERE ((([HANDHELD TABLE1 Without Matching HANDHELD TABLE].ASSET_ID) Is Not Null)); 

여기 핸드 헬드 TABLE SQL을 일치하지 않고 내 핸드 헬드 TABLE1입니다 : 여기 그것을 할 액세스 2010 쿼리 빌더를 사용하지만,하고

는 SQL 코드입니다.

SELECT [HANDHELD TABLE1].ASSET_ID, [HANDHELD TABLE1].INSPECTION_NUMBER, [HANDHELD TABLE1].INSPECTION_FLUSH, [HANDHELD TABLE1].LAST_PRESSURE, [HANDHELD TABLE1].LAST_INSPECT_DATE, [HANDHELD TABLE1].ADDRESS, [HANDHELD TABLE1].LOCATION_DESCRIPTION1, [HANDHELD TABLE1].COMMENTS, [HANDHELD TABLE1].MUNICIPALITY, [HANDHELD TABLE1].PRESSURE_ZONE, [HANDHELD TABLE1].FACILITY_CATEGORY, [HANDHELD TABLE1].LIFECYCLESTATUS, [HANDHELD TABLE1].MANUFACTURER, [HANDHELD TABLE1].INSP_BY, [HANDHELD TABLE1].PAINT, [HANDHELD TABLE1].[GROUND CLEARANCE], [HANDHELD TABLE1].[CURB CLEARANCE], [HANDHELD TABLE1].OBSTRUCTIONS, [HANDHELD TABLE1].[STUFFING BOX LEAK], [HANDHELD TABLE1].[CAULKING LEAK], [HANDHELD TABLE1].CAPS, [HANDHELD TABLE1].DRIP, [HANDHELD TABLE1].[DRIP COMMENTS], [HANDHELD TABLE1].FLUSHED, [HANDHELD TABLE1].[OIL STUFFING BOX], [HANDHELD TABLE1].[OIL CAPS], [HANDHELD TABLE1].DRAINAGE, [HANDHELD TABLE1].[DRAINAGE COMMENTS], [HANDHELD TABLE1].LUBRICATION, [HANDHELD TABLE1].[OPERATING NUT], [HANDHELD TABLE1].[OPERATING NUT COMMENTS], [HANDHELD TABLE1].NOZZLE, [HANDHELD TABLE1].[NOZZLE COMMENTS], [HANDHELD TABLE1].[MAIN WASHER], [HANDHELD TABLE1].[INSPECTION YEAR], [HANDHELD TABLE1].[TIME INSPECTED], [HANDHELD TABLE1].NOISE, [HANDHELD TABLE1].TIMEOPENED, [HANDHELD TABLE1].TIMECLOSED, [HANDHELD TABLE1].TIMETOCLEAR, [HANDHELD TABLE1].OPENEDCOLOR, [HANDHELD TABLE1].CLOSEDCOLOR, [HANDHELD TABLE1].FLUSHREMARKS, [HANDHELD TABLE1].DATEFLUSHED, [HANDHELD TABLE1].LASTFLUSHDATE, [HANDHELD TABLE1].FLUSHEDBY, [HANDHELD TABLE1].TIMEFLUSHED 
FROM [HANDHELD TABLE1] LEFT JOIN [HANDHELD TABLE] ON [HANDHELD TABLE1].ASSET_ID = [HANDHELD TABLE].ASSET_ID 
WHERE ((([HANDHELD TABLE].INSPECTION_FLUSH) Is Null) AND (([HANDHELD TABLE].ASSET_ID) Is Null)); 
+1

이 쿼리 또는 테이블 :

이 같은 시도? '[HANDHELD TABLE1과 HANDHELD TABLE이 일치하지 않음]'질의 일 경우, 질문을 편집하고 쿼리에 대한 SQL을 게시하십시오 – dbmitch

답변

0

검사 플러시가 null 인 필드를 찾으려면 제공된 쿼리 에서처럼 테이블을 연결해야합니다.

그러면 문제는 키 필드 "ASSSET_ID"에 가입하고 null을 찾습니다. 이 사건은 핵심 분야로서 결코 일어나지 않을 것입니다.

DELETE DISTINCTROW [HANDHELD TABLE_1].INSPECTION_FLUSH, [HANDHELD TABLE].* 
FROM [HANDHELD TABLE] LEFT JOIN [HANDHELD TABLE] AS [HANDHELD TABLE_1] ON [HANDHELD TABLE].INSPECTION_FLUSH = [HANDHELD TABLE_1].INSPECTION_FLUSH 
WHERE ((([HANDHELD TABLE_1].INSPECTION_FLUSH) Is Null)); 
+0

This Works Awesome, Thanks man. 고맙습니다. –

관련 문제