보고서
쉽게 말하면
보고서는 데이터를 예쁘게 정리해서 인쇄하는 출력물이에요. '지역별 매출 보고서'처럼 지역마다 묶어서 소계를 넣고, 맨 끝에 총합계를 넣을 수 있어요. 어디에 넣느냐(머리글·본문·바닥글)에 따라 한 번 나올지, 페이지마다 나올지, 그룹마다 나올지가 정해져요.
시험용 정의
보고서는 테이블·쿼리의 데이터를 정리해 화면이나 종이로 출력하는 개체다. 데이터는 레코드 원본(테이블·쿼리·SQL 문)으로 정하며, 여러 테이블의 필드를 쓰려면 쿼리를 원본으로 하거나 보고서 마법사에서 여러 테이블·쿼리의 필드를 고른다. 만드는 도구는 보고서(바로 생성), 보고서 디자인, 새 보고서, 보고서 마법사, 레이블(우편물 주소 라벨), 업무 문서 양식 마법사(거래명세서·세금계산서)다. 구역은 보고서 머리글(처음 한 번: 로고·제목·날짜), 페이지 머리글(페이지마다 위: 열 제목), 그룹 머리글(그룹마다 앞: 그룹 이름), 본문(레코드마다 한 번), 그룹 바닥글(그룹마다 끝: 소계), 페이지 바닥글(페이지마다 아래: 페이지 번호), 보고서 바닥글(마지막 한 번: 총합계)이다. 각 구역은 표시하거나 숨길 수 있다. [그룹, 정렬 및 요약]에서 필드나 식으로 최대 10단계까지 묶을 수 있고 같은 필드를 여러 번 묶을 수도 있다. 계산 컨트롤로 =Sum([금액]), =Count(*)(Null 포함 개수)를 그룹 머리글·바닥글에 두면 그룹별, 보고서 머리글·바닥글에 두면 전체 값을 낸다. [Page]는 현재 페이지, [Pages]는 전체 페이지다. 텍스트 상자의 중복 내용 숨기기는 앞 레코드와 같은 값을 숨기고, 누적 합계는 '그룹'이나 '모두'로 값을 이어 더한다. 보기는 보고서 보기(화면용, 페이지 구분 없음), 인쇄 미리 보기(종이 모양), 레이아웃 보기(실제 데이터를 보며 열 너비·그룹·합계 조정), 디자인 보기(구조 편집)가 있다. 보고서에도 폼처럼 이벤트 프로시저를 쓸 수 있고, 하위 보고서를 넣어 일대다 데이터를 함께 보인다.
비유로 이해하기
보고서는 학급 성적표 묶음이다. 표지(보고서 머리글)는 한 번, 장마다 위에 '이름·국어·수학' 제목줄(페이지 머리글), 반마다 반 이름(그룹 머리글)과 반 평균(그룹 바닥글), 학생마다 한 줄(본문), 마지막 장에 전교 평균(보고서 바닥글)이 있다.
자세히
구역별 출력
| 구역 | 나오는 때 | 주로 넣는 것 |
|---|---|---|
| 보고서 머리글 | 보고서 처음 한 번 | 로고, 제목, 날짜, 전체 요약 |
| 페이지 머리글 | 페이지마다 맨 위 | 열 제목 |
| 그룹 머리글 | 그룹마다 첫 레코드 위 | 그룹 이름, 그룹 요약 |
| 본문 | 레코드마다 한 번 | 필드 텍스트 상자 |
| 그룹 바닥글 | 그룹마다 마지막 레코드 아래 | 소계, 그룹 개수 |
| 페이지 바닥글 | 페이지마다 맨 아래 | 페이지 번호 |
| 보고서 바닥글 | 보고서 끝에 한 번 | 총합계 |
페이지 번호와 계산 식
| 식 (현재 1쪽, 전체 3쪽) | 결과 |
|---|---|
| =[Page] | 1 |
| =[Page] & "페이지" | 1페이지 |
| =[Page] & "/" & [Pages] & "페이지" | 1/3페이지 |
| =Format([Page], "000") | 001 |
| =Count(*) & "권" | 그룹(또는 전체) 레코드 수 + 권 |
| =Sum([정가]) | 정가 합계 |
[페이지 번호] 대화 상자
- 형식: 'N 페이지' 또는 'N/M 페이지'
- 위치: 페이지 위쪽(머리글) 또는 아래쪽(바닥글)
- 맞춤: 왼쪽·가운데·오른쪽·안쪽·바깥쪽
- 첫 페이지에 번호를 표시할지 고를 수 있다
- 열 때마다 페이지 번호 식이 든 텍스트 상자가 새로 들어간다
텍스트 상자 속성
| 속성 | 뜻 |
|---|---|
| 중복 내용 숨기기 | 앞 레코드와 값이 같으면 숨김 (같은 지역명을 처음 한 번만) |
| 누적 합계 | 아니요 / 그룹 / 모두. 원본 =1 + '그룹'이면 그룹별 순번 |
| 확장 가능·축소 가능 | 내용에 맞춰 컨트롤 높이를 늘리거나 줄임 |
| 사용 가능 | 포커스를 옮길 수 있는지 |
| 컨트롤 원본 | 필드명은 대괄호 [ ], 문자열은 큰따옴표 " " |
하위 보고서
- 테이블·쿼리·폼·다른 보고서로 만든다
- 일대다 관계에서 기본 보고서는 '일', 하위 보고서는 '다'
- 디자인 보기에서 크기 조절·이동 가능, 하위 보고서에도 그룹화·정렬 가능
- 하위 보고서는 7단계까지 중첩할 수 있다
1급에서 더 나오는 것
| 항목 | 알아 둘 것 |
|---|---|
| 마법사와 보기 | 보고서 마법사의 요약 옵션(합계·평균·최대·최소)은 그룹 수준을 정했을 때 나타나며, 숫자 필드가 있어야 한다. 보고서 보기는 페이지 구분 없이 이어서 보여 준다 |
| 식 쓰는 법 | 컨트롤 원본 식에서 문자열은 큰따옴표, 필드·컨트롤 이름은 대괄호. Access 보고서의 개수는 Count, 합계는 Sum (CountA·Total은 Access 함수가 아님) |
시험에 이렇게 나와요
- 보고서 머리글 → 처음 한 번(로고·제목), 페이지 머리글 → 페이지마다(열 제목), 그룹 바닥글 → 그룹 요약
- 페이지 번호 식 → [Page]·[Pages], Format([Page],"00") → 01
- =Count(*) → Null 포함 레코드 수, 그룹 바닥글이면 그룹별
- 그룹화 → 최대 10단계, 같은 필드 여러 번 가능, 묶으면 정렬됨
- 중복 내용 숨기기, 누적 합계(=1 + 그룹 → 순번)
- 보고서 보기는 페이지 구분 없음, 레이아웃 보기는 실제 데이터로 조정
- 레이블 보고서 → 우편물 주소, 업무 문서 양식 → 거래명세서·세금계산서
- 하위 보고서 → 크기 조절 가능, 그룹화 가능, 레코드 원본은 여러 테이블(쿼리) 가능
확인 문제
Q1. 보고서의 맨 처음에 한 번만 나오고 회사 로고나 제목을 넣는 구역은?
- 보고서 머리글
- 그룹 머리글
- 본문
- 페이지 머리글
정답 보기
1번 보고서 머리글
보고서 머리글은 보고서 시작에 한 번, 페이지 머리글은 페이지마다 맨 위, 그룹 머리글은 그룹마다 앞에 나온다.
Q2. 현재 2쪽, 전체 5쪽일 때 =[Page] & "/" & [Pages]의 결과는?
- 2 / 5쪽
- Page2/5
- 5/2
- 2/5
정답 보기
4번 2/5
[Page]는 현재 페이지, [Pages]는 전체 페이지다.
Q3. 부서로 그룹화된 보고서에서 그룹 바닥글에 =Count(*)를 넣으면?
- Null 필드를 포함한 부서별 레코드 수
- Null 필드를 뺀 부서별 레코드 수
- 부서 수
- Null 필드를 포함한 전체 레코드 수
정답 보기
1번 Null 필드를 포함한 부서별 레코드 수
Count(*)는 Null과 상관없이 레코드를 세고, 그룹 바닥글에서는 그 그룹만 센다.
Q4. '지역'으로 정렬된 보고서에서 같은 지역명을 처음 한 번만 보이게 하는 속성은?
- 확장 가능 '예'
- 중복 내용 숨기기 '예'
- 누적 합계 '모두'
- 표시 '아니요'
정답 보기
2번 중복 내용 숨기기 '예'
중복 내용 숨기기는 앞 레코드와 같은 값을 숨긴다.
Q5. 보고서 그룹화에 대한 설명으로 옳지 않은 것은?
- 그룹 바닥글에 그룹별 합계를 넣을 수 있다
- 그룹으로 묶은 필드는 정렬되어 나온다
- 날짜 필드는 월·분기·연도로 묶을 수 있다
- 같은 필드는 한 번만 그룹으로 묶을 수 있다
정답 보기
4번 같은 필드는 한 번만 그룹으로 묶을 수 있다
같은 필드나 식으로 여러 번 묶을 수 있고, 최대 10단계까지 된다.
헷갈리기 쉬운 O·X
보고서 바닥글의 내용은 모든 페이지 아래에 출력된다.
정답 보기
X 보고서 바닥글은 마지막에 한 번이다. 페이지마다 나오는 것은 페이지 바닥글이다.
보고서 보기는 인쇄될 페이지를 나눠서 보여 준다.
정답 보기
X 보고서 보기는 화면용이라 페이지 구분 없이 이어서 보여 준다. 페이지 모양은 인쇄 미리 보기에서 본다.