
질문이 <자치구> 테이블의 '자치구코드' 필드가 "5","6","7"로 끝나는 데이터만 조회 대상으로 하시오. 라는 질문사항인데 여기서 왜 바로 right([자치구코드],1)로 하면 오류가 뜨나요? '자치구코드'가 <자치구> 필드에도 있고 <정비사업현황> 이라는 필드에도 있어서 문제에서 제시한 <자치구> 테이블을 지정해야 되서 [자치구].[자치구코드]로 정확히 지정해주어야 하는건가요? 이게 맞다면 앞으로도 저렇게 두 개의 테이블에 다 있는 필드에 관한 식을 적거나 조건을 적을땐 문제에서 제시한 테이블 명을 입력해야 하나요?
안녕하세요.
네, 이해하신 내용이 맞습니다. 두 테이블에 동일한 이름의 자치구코드 필드가 있기 때문에 발생하는 문제입니다.
현재 쿼리에 <자치구>와 <정비사업현황> 테이블이 모두 들어 있고 양쪽 모두 자치구코드라는 필드를 가지고 있다면,
Right([자치구코드],1)만 작성했을 때 Access 입장에서는
<자치구>.자치구코드를 말하는 것인지,<정비사업현황>.자치구코드를 말하는 것인지
판단할 수 없습니다. 이를 모호한 필드 참조라고 합니다.
따라서 문제에서 <자치구> 테이블의 자치구코드를 이용하라고 했다면 다음처럼 테이블까지 지정하는 것이 정확합니다.
Right([자치구].[자치구코드],1)그리고 "5", "6", "7"로 끝나는 것만 조회한다면 계산 필드를 예를 들어
Right([자치구].[자치구코드],1)로 작성하고 조건에
In ("5","6","7")을 지정할 수 있습니다.
앞으로는 다음 기준으로 판단하시면 됩니다.
쿼리에
자치구코드라는 필드가 한 테이블에만 존재한다면 →[자치구코드]만 써도 됨쿼리에 참여한 여러 테이블에 동일한 이름의 필드가 존재한다면 →
[테이블명].[필드명]으로 명확하게 지정문제에서 특정 테이블의 필드를 명시했다면 → 특히 동일 이름 필드가 여러 개 있을 때는 문제에서 지정한 테이블의 필드를 사용
예를 들어 두 테이블 모두 학번이 있다면,
Left([학번],2)보다는 필요에 따라
Left([학생].[학번],2)처럼 작성해야 모호하지 않습니다.
다만 동일한 필드명이 두 테이블에 있다고 해서 언제나 직접 [테이블명].[필드명]을 타이핑해야 하는 것은 아닙니다. 쿼리 디자인에서 위쪽 테이블 상자의 해당 필드를 끌어와 아래쪽 디자인 그리드에 놓으면 Access가 어느 테이블의 필드인지 알고 있으므로 자동으로 적절하게 처리합니다.
따라서 컴활에서는 “여러 테이블에 같은 필드명이 있으면 어느 테이블의 필드인지 명확하게 지정한다”라고 기억하시면 가장 정확합니다.
즐거운 하루 되세요.
-
관리자2026-09-09 09:50:04
안녕하세요.
네, 이해하신 내용이 맞습니다. 두 테이블에 동일한 이름의
자치구코드필드가 있기 때문에 발생하는 문제입니다.현재 쿼리에
<자치구>와<정비사업현황>테이블이 모두 들어 있고 양쪽 모두자치구코드라는 필드를 가지고 있다면,Right([자치구코드],1)만 작성했을 때 Access 입장에서는
<자치구>.자치구코드를 말하는 것인지,<정비사업현황>.자치구코드를 말하는 것인지판단할 수 없습니다. 이를 모호한 필드 참조라고 합니다.
따라서 문제에서
<자치구>테이블의자치구코드를 이용하라고 했다면 다음처럼 테이블까지 지정하는 것이 정확합니다.Right([자치구].[자치구코드],1)그리고
"5", "6", "7"로 끝나는 것만 조회한다면 계산 필드를 예를 들어Right([자치구].[자치구코드],1)로 작성하고 조건에
In ("5","6","7")을 지정할 수 있습니다.
앞으로는 다음 기준으로 판단하시면 됩니다.
쿼리에
자치구코드라는 필드가 한 테이블에만 존재한다면 →[자치구코드]만 써도 됨쿼리에 참여한 여러 테이블에 동일한 이름의 필드가 존재한다면 →
[테이블명].[필드명]으로 명확하게 지정문제에서 특정 테이블의 필드를 명시했다면 → 특히 동일 이름 필드가 여러 개 있을 때는 문제에서 지정한 테이블의 필드를 사용
예를 들어 두 테이블 모두
학번이 있다면,Left([학번],2)보다는 필요에 따라
Left([학생].[학번],2)처럼 작성해야 모호하지 않습니다.
다만 동일한 필드명이 두 테이블에 있다고 해서 언제나 직접
[테이블명].[필드명]을 타이핑해야 하는 것은 아닙니다. 쿼리 디자인에서 위쪽 테이블 상자의 해당 필드를 끌어와 아래쪽 디자인 그리드에 놓으면 Access가 어느 테이블의 필드인지 알고 있으므로 자동으로 적절하게 처리합니다.따라서 컴활에서는 “여러 테이블에 같은 필드명이 있으면 어느 테이블의 필드인지 명확하게 지정한다”라고 기억하시면 가장 정확합니다.
즐거운 하루 되세요.
-
yo*n2026-09-08 21:50:57'자치구코드'필드는 일단 <자치구>테이블이랑 <정비사업현황>테이블에 둘 다 들어있구요.. 하나의 필드가 여러 테이블에 있을 땐 '[테이블명].[필드명]'식으로 작성해줘야 액세스에서 정상적으로 인식하는거 같아요..