청 년 & 교 육

[컴활 1급 실기] 헷갈리는 엑세스 최종 정리 (3~4번)

여 백 2020. 1. 7. 02:19
반응형

 

문제 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(학생관리.[신청일]) --- 해결

 

 

실행을 눌러야만 하는 쿼리

삽입, 삭제, 업데이트, 테이블만들기 쿼리

 

 

반응형