폼의 작성 과정에 대한 다음 설명 중 바르지 못한 것은? | [컴퓨터활용능력 1급 필기] 10년 1회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 10년 1회차
폼의 작성 과정에 대한 다음 설명 중 바르지 못한 것은?
1
폼이 여러 레코드를 표시하게 하기 위해 '기본 보기'속성을 '연속폼'으로 설정하였다.
2
폼이 실행되자마자 [분류] 테이블을 사용하도록 하기 위해 다음과 같이 이벤트 프로시저를 작성했다.
3
학과별 자격 취득자수를 집계하여 보여주는 폼의 '레코드 원본' 속성을 다음과 같이 지정했다. 단, 자격취득 테이블은 (취득일, 학번, 학과명, 자격증코드, 자격증명)으로 구성되어 있다.
4
'cmb조회' 명령 단추를 클릭하면 이름 필드의 값과 'txt조회' 컨트롤에 입력된 문자열이 일치하는 레코드를 표시하도록 하기 위해 다음과 같이 이벤트 프로시저를 작성하였다.
해설
Access 폼이 어떤 데이터를 표시할지 정하는 속성은 RecordSource(레코드 원본)이다. 폼이 열리자마자 [분류] 테이블을 원본으로 쓰게 하려면 Me.RecordSource = "분류" 로 작성해야 한다.
반면 Recordset 속성은 폼이 현재 사용 중인 레코드셋 개체(Object)를 가리키는 속성이므로, 테이블 이름 같은 문자열을 대입할 수 없고 Set 문으로 ADO/DAO 레코드셋 개체를 연결해야 한다. 따라서
Me.RecordSet = "분류"형태로 문자열을 대입한 프로시저는 잘못된 작성이다.나머지 과정은 모두 옳다. 한 화면에 여러 레코드를 나열하려면 기본 보기 속성을 '연속 폼'으로 설정하고, 학과별 자격 취득자 수 집계는 select 학과명, Count(*) as 취득자수 … Group by 학과명 처럼 그룹 함수를 쓴 SQL을 레코드 원본으로 지정하면 된다. 또 특정 문자열과 일치하는 레코드만 보이게 하려면 Me.Filter 에 조건식("이름='…'")을 넣고 Me.FilterOn = True 로 필터를 켜는 방식이 표준이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.


