다음 그림과 같이 '학과명' 필드가 'txt조회' 컨트롤에 입력된 문자… | [컴퓨터활용능력 1급 필기] 12년 3회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 12년 3회차
다음 그림과 같이 '학과명' 필드가 'txt조회' 컨트롤에 입력된 문자를 포함하는 레코드만을 표시하도록 하는 프로시저의 코드로 옳은 것은?
1
Me.Filter="학과명='*"& txt조회& "*'"
Me.FilterOn=True
2
Me.Filter="학과명='*"& txt조회& "*'"
Me.FilterOn=False
3
Me.Filter="학과명 like '*"& txt조회& "*'"
Me.FilterOn=True
4
Me.Filter="학과명 like '*"& txt조회& "*'"
Me.FilterOn=False
해설
그림의 '학과 정보 관리' 폼은 위쪽 학과명 입력란(txt조회)에 "비서"를 넣고 [조회] 단추를 누른 결과다. 목록에는 비서행정과(경인여자대학 130), 비서과(동원대학 40), 국제비서과(상공대학 40), 비서경영전공(용인송담대학 62), 비서과(수원여자대학 43), 비서행정과(수원과학대학 30)처럼 학과명 안에 '비서'가 들어 있기만 하면 표시되고, 아래 탐색 줄에는 '필터링됨'이 나타난다.
이렇게 일부 문자를 포함하는 조건은 만능 문자 *를 함께 쓰는 Like 연산자로만 지정할 수 있다. Me.Filter="학과명 like '*"& txt조회& "*'" 로 작성하면 앞뒤에 어떤 글자가 붙어도 입력한 문자가 포함된 레코드가 걸린다. 등호(=)로 비교하면 학과명이 '*비서*'라는 문자열과 정확히 같은 레코드만 찾으므로 결과가 하나도 나오지 않는다.
또 Filter 속성에 조건 문자열을 넣는 것만으로는 화면에 반영되지 않는다. Me.FilterOn=True로 필터를 켜야 조건이 적용되며, False로 두면 필터가 해제되어 그림처럼 걸러진 목록이 아니라 전체 레코드가 그대로 보인다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
