책 내용 질문하기
온라인 채점 결과 문의
도서
2026 시나공 컴퓨터활용능력 1급 실기 기출문제집
페이지
0,373
조회수
59
작성일
2026-08-27
작성자
김*우
첨부파일

2026_최신기출유형_07회

-3. 성취도확인 쿼리 0/7

-쿼리 비교 X [성취도확인] 쿼리 (UPDATE 학생 SET 학생.비고 = String([성취도를 입력하세요],"★") WHERE (((학생.비고)=[성취도를 입력하세요]) AND ((학생.이름)=[이름을 입력하세요])); )이 정답(UPDATE 학생 SET 학생.비고 = String([성취도를 입력하세요],"★") WHERE (((학생.이름)=[이름을 입력하세요])); )과 다릅니다.


정답과 같이 작성해도 업데이트 쿼리가 실행이 되지 않습니다.

답변
2026-08-31 09:54:44

안녕하세요.

이 경우에는 작성하신 쿼리에 조건을 하나 잘못 추가한 것이 핵심 원인입니다.

작성하신 쿼리는 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개 행을 업데이트하려고 합니다.

    와 같은 확인 메시지가 나타나면 **[예]**를 눌러야 실제로 변경됩니다.

    따라서 먼저 정답과 동일하게 비고 필드의 조건을 완전히 삭제하고, 이름 필드에만 [이름을 입력하세요] 조건을 지정한 뒤 실행해 보시는 것이 맞습니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.