전화번호 필드 값에 "-"을 포함시키기 위한 유효성 검사 규칙 작성 부분에서 교재의 정답은 Like "*-*"입니다.
하지만, "-" 표시가 처음 (또는 중간 또는 마지막)에 들어가야 한다는 것과 같은 추가 지시 사항이 없어 필드 값 안에 존재만 한다면 어디건 들어만가게 만들어줘도 되지 않을까 하여 InStr([전화번호],"-")>0 와 같이 작성하였습니다. 실제로 모든 위치에서 "-"를 포함도 해보고 제외도 해보며 검사해본 결과 유효성 검사 규칙 자체는 문제 없이 작동함을 확인하였습니다.
이런 경우 오답 처리가 되는 것일까요?
추가로, 이런 상황과 관련해 추가적인 지시 사항이 없더라도 어느 정도는 원본의 데이터 (해당 문제의 경우 데이터 시트 보기 상태에서 이미 입력되어 있는 전화번호의 형태로 미루어보아 "-"이 적어도 중간에는 들어가게 만들어주자) 형태에 맞추어 생각하여야 하는 것인가요?
안녕하세요.
Like "*-*"와 InStr([전화번호],"-")>0은 모두 전화번호 값 안에 -가 하나 이상 포함되어 있는지를 검사하므로, 문제의 요구 사항만 보면 기능적으로는 같은 결과를 냅니다.
따라서 문제에서 반드시 Like 연산자를 사용하라고 지정하지 않았다면 InStr을 사용했다고 해서 개념적으로 틀린 것은 아닙니다. 다만 실제 시험의 세부 채점 기준은 공개되어 있지 않고, 채점 프로그램은 정답식과 내부 표현이 다르면 오답 처리할 수 있으므로 시험에서는 교재 정답 방식인 Like "*-*"로 작성하는 것이 가장 안전합니다.
추가로, 별도 지시가 없다면 기존 데이터의 모양을 보고 임의로 -의 위치까지 제한할 필요는 없습니다. 예를 들어 기존 전화번호가 02-123-4567 형태라고 해서 문제에서 요구하지 않은 위치 규칙까지 추가하면 오히려 조건을 과하게 제한할 수 있습니다.
즉, 문제에 적힌 조건만 정확히 구현하고, 기존 데이터 형태는 참고만 하는 것이 좋습니다.
즐거운 하루 되세요.
-
관리자2026-10-28 10:19:29
안녕하세요.
Like "*-*"와InStr([전화번호],"-")>0은 모두 전화번호 값 안에-가 하나 이상 포함되어 있는지를 검사하므로, 문제의 요구 사항만 보면 기능적으로는 같은 결과를 냅니다.따라서 문제에서 반드시
Like연산자를 사용하라고 지정하지 않았다면InStr을 사용했다고 해서 개념적으로 틀린 것은 아닙니다. 다만 실제 시험의 세부 채점 기준은 공개되어 있지 않고, 채점 프로그램은 정답식과 내부 표현이 다르면 오답 처리할 수 있으므로 시험에서는 교재 정답 방식인Like "*-*"로 작성하는 것이 가장 안전합니다.추가로, 별도 지시가 없다면 기존 데이터의 모양을 보고 임의로
-의 위치까지 제한할 필요는 없습니다. 예를 들어 기존 전화번호가02-123-4567형태라고 해서 문제에서 요구하지 않은 위치 규칙까지 추가하면 오히려 조건을 과하게 제한할 수 있습니다.즉, 문제에 적힌 조건만 정확히 구현하고, 기존 데이터 형태는 참고만 하는 것이 좋습니다.
즐거운 하루 되세요.