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

문제:

‘사번’ 필드에는 공백문자가 입력되지 않도록 유효성 검사 규칙을 설정하시오. (Instr 함수 이용)

정답은

InStr([사번]," ")=0

으로 되어 있는데요.

문제에서 “공백문자가 입력되지 않도록”이라고 했을 때, 왜 IsNull이 아니라 InStr([사번]," ")=0을 사용하는 것인지 궁금합니다.

또한 문제의 어떤 표현을 보고 IsNull, =0 등을 구분해서 사용해야 하는지도 쉽게 설명해 주시면 감사하겠습니다.

답변
2026-09-10 09:23:54

안녕하세요.

여기서 헷갈리는 핵심은 “공백문자”와 “값이 비어 있음(Null)”은 전혀 다른 상태라는 점입니다.

IsNull은 값 자체가 입력되지 않았는지 검사합니다. 예를 들어 사번 필드가 아예 비어 있다면 IsNull([사번])이 True가 됩니다.

반면 문제의 “공백문자가 입력되지 않도록”에서 공백문자는 키보드의 스페이스바로 입력하는 " "라는 실제 문자를 뜻합니다.

예를 들어 다음은 서로 다릅니다.

ABC123     → 공백 없음
ABC 123    → 중간에 공백문자 있음
 ABC123    → 앞에 공백문자 있음
ABC123     → 값이 있음
(아무것도 입력 안 함) → Null

따라서 문제에서는 사번 문자열의 어느 위치든 " "가 들어 있는지를 찾아야 하므로 InStr을 사용합니다.

InStr([사번]," ")

InStr은 찾는 문자의 위치를 숫자로 반환합니다.

사번             InStr([사번]," ")
ABC123                 0   ← 공백 없음
ABC 123                4   ← 네 번째 위치가 공백
 ABC123                1   ← 첫 번째 위치가 공백

문제에서는 공백문자가 없어야 유효한 데이터이므로 반환값이 0이어야 합니다.

InStr([사번]," ")=0

그래서 이것이 정답입니다.

시험에서는 문제의 표현을 다음처럼 구분하면 쉽습니다.

문제 표현생각할 내용대표적인 식
공백문자가 없도록" "라는 문자를 찾음InStr([필드]," ")=0
공백문자가 포함되도록" "가 존재하는지 찾음InStr([필드]," ")>0
값이 반드시 입력되도록Null인지 검사Is Not Null
값이 입력되지 않은 경우Null인지 검사Is Null
특정 문자가 없도록그 문자의 위치가 0인지 검사InStr([필드],"문자")=0

특히 =0은 “값이 0이어야 한다”는 뜻으로 외우면 안 됩니다. 여기서는 InStr 함수가 찾지 못했을 때 0을 반환하기 때문에 =0을 붙인 것입니다.

즉 문제를 읽을 때 이렇게 번역해 보시면 됩니다.

“공백문자” → 문자 " "를 찾는 문제 → InStr
“입력되지 않음/값이 없음” → Null을 검사하는 문제 → IsNull 또는 Is Null

따라서 ABC 123은 Null이 아닙니다. 값은 분명히 존재하지만 그 안에 공백문자가 포함된 것이므로 IsNull로는 이 문제를 해결할 수 없습니다.

즐거운 하루 되세요.

  • 관리자
    2026-09-10 09:23:54

    안녕하세요.

    여기서 헷갈리는 핵심은 “공백문자”와 “값이 비어 있음(Null)”은 전혀 다른 상태라는 점입니다.

    IsNull은 값 자체가 입력되지 않았는지 검사합니다. 예를 들어 사번 필드가 아예 비어 있다면 IsNull([사번])이 True가 됩니다.

    반면 문제의 “공백문자가 입력되지 않도록”에서 공백문자는 키보드의 스페이스바로 입력하는 " "라는 실제 문자를 뜻합니다.

    예를 들어 다음은 서로 다릅니다.

    ABC123     → 공백 없음
    ABC 123    → 중간에 공백문자 있음
     ABC123    → 앞에 공백문자 있음
    ABC123     → 값이 있음
    (아무것도 입력 안 함) → Null

    따라서 문제에서는 사번 문자열의 어느 위치든 " "가 들어 있는지를 찾아야 하므로 InStr을 사용합니다.

    InStr([사번]," ")

    InStr은 찾는 문자의 위치를 숫자로 반환합니다.

    사번             InStr([사번]," ")
    ABC123                 0   ← 공백 없음
    ABC 123                4   ← 네 번째 위치가 공백
     ABC123                1   ← 첫 번째 위치가 공백

    문제에서는 공백문자가 없어야 유효한 데이터이므로 반환값이 0이어야 합니다.

    InStr([사번]," ")=0

    그래서 이것이 정답입니다.

    시험에서는 문제의 표현을 다음처럼 구분하면 쉽습니다.

    문제 표현생각할 내용대표적인 식
    공백문자가 없도록" "라는 문자를 찾음InStr([필드]," ")=0
    공백문자가 포함되도록" "가 존재하는지 찾음InStr([필드]," ")>0
    값이 반드시 입력되도록Null인지 검사Is Not Null
    값이 입력되지 않은 경우Null인지 검사Is Null
    특정 문자가 없도록그 문자의 위치가 0인지 검사InStr([필드],"문자")=0

    특히 =0은 “값이 0이어야 한다”는 뜻으로 외우면 안 됩니다. 여기서는 InStr 함수가 찾지 못했을 때 0을 반환하기 때문에 =0을 붙인 것입니다.

    즉 문제를 읽을 때 이렇게 번역해 보시면 됩니다.

    “공백문자” → 문자 " "를 찾는 문제 → InStr
    “입력되지 않음/값이 없음” → Null을 검사하는 문제 → IsNull 또는 Is Null

    따라서 ABC 123은 Null이 아닙니다. 값은 분명히 존재하지만 그 안에 공백문자가 포함된 것이므로 IsNull로는 이 문제를 해결할 수 없습니다.

    즐거운 하루 되세요.

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