기출2회 컴활 1급 엑세스 오답노트 & 문풀 정리
[ACCESS 채점 결과]
DB구축(총 30점) : 21점
입력및수정(총 25점) : 22점
조회및출력(총 20점) : 15점
처리기능(총 25점) : 21점
총점(총 100점) : 79점
[세부 감점 내역]
DB구축;⑤테이블-정렬기준;-4.00;도서판매 테이블의 정렬 처리가 잘못되었습니다.
DB구축;⑦필드조회-행원본;-5.00;원산지필드의 콤보상자 작업이 잘못되었습니다.
입력수정;⑤필드-특수효과;-3.00;봉사내역관리 본문 영역내 컨트롤의 특수효과 설정이 잘못되었습니다.
조회출력;⑥필드-이벤트프로시저문자열검색;-5.00;[보너스문제]aa = MsgBox("모든 레코드를 표시할까요?", vbYesNo, "필터해제") 부분이 잘못되었습니다.
처리기능;①쿼리화면으로비교;-4.00;치커리조회 쿼리의 결과값이 정답과 다릅니다.
<오답노트>
1. 액세스 정렬
~가 로드될 때, '필드명1'를 기준으로 정렬하고 '필드명1'이 같다면 '필드명2'를 기준으로 정렬되게 하시오.
[속성시트]-[정렬 기준] → 필드1, 필드2 (쉼표로 구분)
2. 콤보상자- 행원본 연결
OO테이블의 '필드명1' 필드를 콤보상자 형태로 변경하시오
-목록으로 A,B,C,D,E 가 나오도록 설정하시오.
컨트롤 표시: 콤보상자
행 원본 유형: 값 목록★
행 원본: A;B;C;D;E ( ;로 구분해주기★)
3. 이벤트 프로시저
아래와 같은 메세지 상자가 나오게 한 뒤, 예를 클릭했을 경우 cmb 00에 입력된 내용을 삭제하면서 필터를 해제하시오.
IF, FILTERON 사용
cmb00="" 빼먹지 말 것★
Private Sub 폼_머리글_DblClick(Cancel As Integer)
i=msgbox("모든 레코드를 표시할까요?",vbyesno,"필터해제")
if i=vbyes then
cmb00=""
me.filteron=false
end if
End Sub
<알고 있지만 헷갈리는 것들>
1. 폼이 로드될 때 'txt00'에 포커스가 배치되도록 탭 인덱스를 설정하고 ~,
→ 탭 인덱스 :0 or 우클릭 탭 정렬 1번으로 끌어다가 배치
2.기본 폼과 하위 폼 사이의 연결을 '00'으로 지정하시오
→ 하위폼의 기본 폼과 하위 폼 경계선 클릭 후 [하위 피드 연결] 클릭하여 ‘기관코드’로 연결
3.SELECT ~ CASE문
비교대상이 문자일때 CASE
비교대상이 숫자일때 CASE IS
마지막 CASE ELSE
4.WEEKDAY 함수/ =weekday([필드명],2)
1→일(1),월,화 …
2→월(1),화,수… (시험에서는 대부분 2로 사용★)
3→월(0),화,수,목..
5.cmb00에 입력된 학과와 일치하는 항목들을 표시하고, 필드A(A필드)으로 포커스를 이동하시오.
(GOTOCONTROL, FILTER, FILTERON 속성 사용)
Me.filter=”학과=’” & cmb00 & “’”
Me.filteron=true
docmd.gotocontrol”A필드”
→ 큰따옴표 안에 개체이름 적어야함!
*GOTOCONTROL :특정 컨트롤(텍스트상자, 콤보상자)이동
*GOTORECORD:특정 행으로 이동
docmd.gotocontrol=setfocus
A필드.setfocus = docmd.gotocontrol”A필드”
*매크로에서 필터를 줄때는 “Applyfilter