문제 3. 조회 및 출력 기능 구현 (25점)
엑세스 3번 문제는 보고서를 마저 완성하는 문제 / 폼의 버튼을 클릭했을 때 특정한 기능을 수행하는 문제가 주로 출제된다. 보고서를 인쇄 미리 보기 형태로 열거나 / 폼 또는 보고서에 해당하는 레코드만 표시하는 툴을 암기해둘것.
이것만은 알고가
filter / recordsetclone / recordsource / docmd.open
- 컨트롤에 그룹별 일련번호 설정하시오.
[데이터] 컨트롤원본 =1
누적합계 (그룹) 적용
- 동일한 레코드는 한 번만 출력되도록 하시오.
[형식] 중복 내용 숨기기
- 본문의 홀수 레코드 배경색/ 짝수 레코드 배경색을 설정하시오.
[형식] 배경색 : 홀수
다른 배경색 : 짝수
- 그룹 머리글이 변경될 때마다 페이지가 바뀌도록 설정하시오.
[형식] 페이지바꿈 - 구역 전
만약 그룹 바닥글이다? 구역 후
- txt개수에 그룹별 개수를 표시하시오.
컨트롤원본 =count(*)
-txt금액에 금액의 총 합계를 표시하시오.
컨트롤원본 =sum([txt금액])
- d함수 (ex. dmax, dmin, dlookup, dcount ....)
공식 통일
=d함수("계산할 필드명", "테이블명", "조건")
- filter와 filteron 속성을 이용한 이벤트 프로시저
me.filter = "필드명 = 컨트롤명"
me.filteron = true
- recordsetclone 속성을 이용한 이벤트 프로시저
me.recordsetclone.findfirst "조건"
me.bookmark = me.recordsetclone.bookmark
- recordsource 속성을 이용한 이벤트 프로시저
me.recordsource = "select 필드명 from 테이블명 where 조건"
폼이나 보고서의 레코드를 지정할 땐 보통 필드명에 * 사용
참고) SQL문
검색: select 필드명 from 테이블명 where 조건
갱신: update 테이블명 set 변경내용 where 조건
삭제: delete 필드명 from 테이블명 where 조건
추가: insert into 테이블(필드1, 필드2) values(값1, 값2)
- 보고서 보기 버튼 클릭시 <A> 보고서를 인쇄 미리 보기 형태로 여는 프로시저
docmd.openreport "A", acpreview, , "조건"
여기서 조건은 "필드명 = 컨트롤명"
예를 들어 문제가 "폼에서 ~~에 해당하는 레코드만 보고서에 표시하도록 하라" 고 했으면,
폼의 컨트롤명과 보고서의 필드명을 비교해서 작성.
- 매크로 외부폼 여는 공식
[forms]![폼이름]![컨트롤명]
하위폼은?
[폼이름]!form![컨트롤명]
docmd.close
docmd.openform "폼이름", 여는 방식, , "조건"
docmd.openreport "보고서명", 여는 방식, , "조건"
docmd.gotocontrol "필드명"
([forms]!테이블명![필드명].setfocus 와 동일)
문제 4. 처리 기능 구현 (20점)
엑세스는 엑셀과 달리 1번 문제부터 풀자. 그중 처리 기능은 반드시 시험 마지막에 풀어야 한다. 실행 쿼리를 작동하면 본 테이블이 변형되기 때문이다. 주로 쿼리 만들기 / 쿼리 마법사를 통해 쿼리를 만드는 문제가 출제된다. 유형별로 알아두면 크게 어렵진 않으니 무작정 포기할 생각은 금물.
1) 업데이트 쿼리
쿼리 만들기 - 오른쪽 버튼 업데이트 쿼리
업데이트 쿼리는 업데이트 할 필드, 조건 필드가 필요.
업데이트 할 필드에는 갱신할 내용 적기.
조건 필드 매개변수 메시지는 해당 필드 조건란에 대괄호 작성.
[알파벳을 입력하시오]
A라는 단어가 들어간 자료를 갱신하라고 한다면?
like "*" & [알파벳을 입력하시오] & "*"
반드시 실행까지 할 것.
2) 요약 쿼리
요약 버튼은 언제? 합, 평균, 개수, 최대값, 최소값 같은 자료들이라고 명시할 때만.
쿼리 만들기 - 쿼리 도구에서 요약 클릭
조건식은 묶는 방법 - 조건 선택
개수필드는 묶는 방법 - 개수(count와 동일)
주의할 점.
<4월>처럼 숫자+문자 조합시, 정렬 확인하여 쿼리 만들기.
왼쪽 정렬된 데이터들은 문자형 --- & 사용 가능
4 & "월"
오른쪽 정렬된 데이터들은 숫자형 --- 속성 - [형식]
[형식] #월
3) 크로스탭 쿼리
쿼리 마법사 만든 후 수정.
행 머리글은 최대 3개 / 열 머리글 1개 설정 가능.
크로스탭 쿼리의 열머리글은 속성 처리가 부실함. & 연산자 사용할 것.
값에 함수, 연산이 있다면 묶는 방법은 '식' 설정.
조건은 반드시 조건 설정.
4) 불일치 검색 쿼리
isnull 함수와 관계를 이용하시오 - > 불일치쿼리 (쿼리마법사)
NOT IN 연산자를 사용하라고 한다면 쿼리 만들기.
not in 시에는 주 테이블만 열어놓고 작업.
조건 not in (select 필드명 from 테이블명)
~가 비어있다면 is null
쿼리 만들 때 필드명 오류?
ex. 신청일 : year([신청일]) --- 오류.
신청일 필드의 경로를 지정해두면 된다. (테이블명을 앞에 씀)
ex. 신청일 : year(학생관리.[신청일]) --- 해결
실행을 눌러야만 하는 쿼리
삽입, 삭제, 업데이트, 테이블만들기 쿼리
'청 년 & 교 육' 카테고리의 다른 글
[컴활 1급 실기] 합격 후기, 유동균 인강 Tip (1) | 2020.04.01 |
---|---|
[컴활 1급 필기] 3일만에 합격한 후기! feat. 독학, 시험 접수 (0) | 2020.03.02 |
[컴활 1급 실기] 헷갈리는 엑세스 최종 정리 (1~2번) (0) | 2020.02.10 |
청년구직활동지원금 선정! 예비교육, 카드발급 (1) | 2019.11.12 |
청년구직활동지원금 신청방법 (0) | 2019.09.02 |