2026_최신기출유형_07회
-3. 성취도확인 쿼리 0/7
-쿼리 비교 X [성취도확인] 쿼리 (UPDATE 학생 SET 학생.비고 = String([성취도를 입력하세요],"★") WHERE (((학생.비고)=[성취도를 입력하세요]) AND ((학생.이름)=[이름을 입력하세요])); )이 정답(UPDATE 학생 SET 학생.비고 = String([성취도를 입력하세요],"★") WHERE (((학생.이름)=[이름을 입력하세요])); )과 다릅니다.
정답과 같이 작성해도 업데이트 쿼리가 실행이 되지 않습니다.
안녕하세요.
이 경우에는 작성하신 쿼리에 조건을 하나 잘못 추가한 것이 핵심 원인입니다.
작성하신 쿼리는 WHERE에 두 조건이 있습니다.
WHERE 학생.비고=[성취도를 입력하세요]
AND 학생.이름=[이름을 입력하세요];그런데 [성취도를 입력하세요]는 비고 필드에서 찾을 값이 아니라, 별표(★)를 몇 개 표시할지를 입력받는 값입니다.
예를 들어 성취도에 3을 입력하면,
String(3,"★")이 되어 비고에 ★★★을 입력해야 합니다. 그런데 작성하신 조건에서는 동시에
학생.비고 = 3인 학생을 찾으라고 요구합니다. 기존 비고가 3이 아니라면 해당 레코드가 없으므로 업데이트되지 않습니다.
따라서 정답처럼 조건은 이름에만 지정해야 합니다.
UPDATE 학생
SET 학생.비고 = String([성취도를 입력하세요],"★")
WHERE 학생.이름=[이름을 입력하세요];그런데 정답대로 해도 업데이트되지 않는 경우
이때는 실행 과정도 확인해야 합니다. 이 쿼리를 실행하면 매개변수 입력창이 두 번 나타나는 것이 정상입니다.
먼저 예를 들어:
성취도를 입력하세요 → 3그리고:
이름을 입력하세요 → 실제 학생 이름을 입력합니다.
여기서 이름은 학생 테이블의 이름 필드에 있는 값과 정확히 일치해야 합니다. 이름을 잘못 입력하면 업데이트할 레코드가 0개이므로 아무 변화가 없습니다.
또한 업데이트 쿼리를 실행할 때 Access에서
1개 행을 업데이트하려고 합니다.
와 같은 확인 메시지가 나타나면 **[예]**를 눌러야 실제로 변경됩니다.
따라서 먼저 정답과 동일하게 비고 필드의 조건을 완전히 삭제하고, 이름 필드에만 [이름을 입력하세요] 조건을 지정한 뒤 실행해 보시는 것이 맞습니다.
즐거운 하루 되세요.
-
관리자2026-08-31 09:54:44
안녕하세요.
이 경우에는 작성하신 쿼리에 조건을 하나 잘못 추가한 것이 핵심 원인입니다.
작성하신 쿼리는
WHERE에 두 조건이 있습니다.WHERE 학생.비고=[성취도를 입력하세요] AND 학생.이름=[이름을 입력하세요];그런데
[성취도를 입력하세요]는 비고 필드에서 찾을 값이 아니라, 별표(★)를 몇 개 표시할지를 입력받는 값입니다.예를 들어 성취도에
3을 입력하면,String(3,"★")이 되어 비고에
★★★을 입력해야 합니다. 그런데 작성하신 조건에서는 동시에학생.비고 = 3인 학생을 찾으라고 요구합니다. 기존 비고가
3이 아니라면 해당 레코드가 없으므로 업데이트되지 않습니다.따라서 정답처럼 조건은 이름에만 지정해야 합니다.
UPDATE 학생 SET 학생.비고 = String([성취도를 입력하세요],"★") WHERE 학생.이름=[이름을 입력하세요];그런데 정답대로 해도 업데이트되지 않는 경우
이때는 실행 과정도 확인해야 합니다. 이 쿼리를 실행하면 매개변수 입력창이 두 번 나타나는 것이 정상입니다.
먼저 예를 들어:
성취도를 입력하세요 → 3그리고:
이름을 입력하세요 → 실제 학생 이름을 입력합니다.
여기서 이름은 학생 테이블의
이름필드에 있는 값과 정확히 일치해야 합니다. 이름을 잘못 입력하면 업데이트할 레코드가 0개이므로 아무 변화가 없습니다.또한 업데이트 쿼리를 실행할 때 Access에서
1개 행을 업데이트하려고 합니다.
와 같은 확인 메시지가 나타나면 **[예]**를 눌러야 실제로 변경됩니다.
따라서 먼저 정답과 동일하게
비고필드의 조건을 완전히 삭제하고,이름필드에만[이름을 입력하세요]조건을 지정한 뒤 실행해 보시는 것이 맞습니다.즐거운 하루 되세요.