보고서(1)
- 테이블이나 쿼리, SQL을 원본으로 해서 데이터를 종이에 출력하기 위한 개체이다.
- 포함할 필드가 모두 한 테이블에 있는 경우 해당 테이블을 레코드 원본으로 사용하고, 포함할 필드가 여러 테이블에 있는 경우 쿼리를 만들어 해당 쿼리를 레코드 원본으로 사용한다.
- 조건부 서식을 작성할 수 있고, 폼처럼 이벤트 프로시저를 작성할 수 있다.
보고서의 구성
- 보고서 머리글: 보고서의 첫 페이지 상단에 한번만 표시되며, 일바적으로 보고서 제목 등을 표시
- 페이지 머리글: 보고서의 매 페이지 상단에 표시, 첫 페이지는 보고서 머리글 다음에 표시
- 그룹 머리글: 그룹이 지정된 경우, 그룹의 상단에 반복적으로 표시, 일반적으로 그룹의 이름과 그룹별 요약 정보 등을 표시
- 본문: 실제 데이터가 표시되는 부분
- 그룹 바닥글: 그룹이 이정된 경우, 그룹의 하단에 반족적으로 표시, 일반적으로 그룹의 요약 정보등을 표시
- 페이지 바닥글: 보고서의 매 페이지 하단에 표시
- 보고서 바닥글: 보고서의 마지막 페이지에 한번만 표시되며, 일반적으로 보고서 요약정보 등을 표시
보고서의 보기 형태
- 인쇄 미리보기: 종이에 출력되는 인쇄 모양을 미리 확인
- 보고서 보기: 인쇄 미리 보기와 비슷하지만, 보고서의 모든 내용을 페이지구분 없이 이어서 표시 (종이 출력용이 아니라 화면 출력용)
- 레이아웃 보기: 보고서에 출력될 데이터와 함께 보고서의 레이아웃을 보여준다.
: 데이터를 보면서 컨트롤의 크기 및 위치를 수정할 수 있다.
- 디자인 보기: 보고서에 삽입된 컨트롤을 설정해서 보고서를 만들어간 수정할 수 있는 형태
보고서의 정렬 및 그룹화
- 그룹화란 보고서의 내용을 쉽게 파악할 수 있도록 특정 필드나 식을 기준으로 데이터를 구분하여 표시하는 기능
- 그룹화의 기준이 되는 필드는 데이터가 정렬되어 표시
- 필드나 식을 기준으로 10단계 까지 그룹화 할 수 있다.
- 그룹을 만들려면 (그룹)머리글 구역이나 바닥글 구역을 하나 이상 설정해야한다.
- 같은 필드나 식도 여러 번 그룹화 할 수 있다.
- 그룹을 없애면 설정했던 (그룹)머리글과 (그룹)바닥글이 지워지지만, (그룹)머리글과 (그룹)바닥글을 지운다고 그룹이 사라지는 것은 아니다.
- 여러 필드에 요약을 추가하거나 같은 필드에 여러 종류의 요약을 계산할 수 있다.
<정렬 및 그룹화>
* 그룹화할 필드가 날짜 데이터
- 전체 값(실제 값)
- 일, 주, 월, 분기, 연도
- 사용자 지정 기준
* 그룹화할 필드가 문자 데이터
- 전체 값
- 첫 문자
- 처음 두문자
- 사용자 지정문자
보고서의 종류
1. 레이블 보고서
- 우편 발송용 레이블을 만드는보고서이다
- 우편물 레이블 마법사를 이용해서 작성할 수 있다. (레이블 크기, 글꼴, 글꼴 색 등 지정 가능)
2. 업무 문서 양식 보고서
- 거래명세서나 세금 계산서와 같은 업무용 문서 양식을 작성하는 보고서
- 쿼리를 이용하여 서식이 없는 세금계산서를 작성할 수 있다.
3. 하위 보고서
- 일대다 관계에 있는 테이블이나 쿼리를 효과적으로 표시할 수 있다.
- 주 보고서와 하위 보고서는 관련된 필드로 연결되어 있으므로, 하위 보고서에는 주 보고서의 현재 레코드와 관련된 레코드만 표시된다.
- 테이블, 쿼리, 폼 또는 다른 보고서를 이용하여 하위 보고서를 작성할 수 있다.
- 사용할 수 있는 보고서의 개수에는 제한이 업속, 하위 보고서를 7개의 수준까지 중첩시킬 수 있다.
- 주 보고서와 하위 보고서 모두 그룹화 및 정렬 기능을 설정할 수 있다.
보고서(2)
머리글/바닥글의 활용
1. 날짜/시간과 페이지 번호 삽입
- 보고서 작성시 NOW(), DATE(), TIME()등과 같은 함수를 이용하여 날짜와 시간을 표시할 수 있다.
- [page]: 현재 페이지 번호
- [pages]: 전체 페이지 번호
ex. 전체 페이지가 5이고, 현재 페이지가 2
2쪽[page]&"쪽"
2/5[pages]&"/"&[page]
5중2[pages]&"중"&[page]
02Format([page],"00") ----> Format은 엑셀에서 text 함수
2. 집계정보 표시
- 보고서 전체 레코드에 대한 집계정보를 표시하려면 보고서 머리글/바닥글에 입력하고, 각 그룹별로 집계정보를 표시하려면 그룹 머리글/바닥글에 입력한다.
- SQL 함수 이용: AVG(인수), SUM(인수), COUNT(인수), MAX(인수), MIN(인수)
**누적합계 표시
- 컨트롤 속성의 [데이터] 탭에서 '누적 합계' 속성을 이용한다.
아니요: 현재 레코드의 원본으로 사용하는 필드의 데이터를 표시
그룹: 그룹별로 누적 합계를 계산해서 표시
모두: 그룹에 관계없이 보고서에 바운드 된 필드 전체의 누적 합계를 계산해서 표시
누적합계는 보통 그룹별로 수번을 표시할 때 많이 사용
컨트롤 원본을 1로 설정하여 그룹별 순번을 구한다는 것
컨트롤 원본을 [=1]로 설정하게 되면
1
1
1
과 같은 값을 가지게 되는데
위의 값을 누적 합계를 통ㅎ 계산하게 되면
1
2: 1+1
3: 2+1
이런식으로 됨 따라서 누적합계를 그룹으로 설정하면 그룹별 순번을 구할 수 있음.
<도메인 집계 함수>
- 도메인에서 조건에 맞는 자료를 대상으로 계산해주는 함수
ex. DAVG("필드명","테이블/쿼리","조건")
DSUM("필드명","테이블/쿼리","조건")
DCOUNT("필드명","테이블/쿼리","조건")
ex. <사원> 테이블에서 직급이 '부장'인 레코드들의 급여 평균을 구하는 함수식
-> DAVG("[급여]", "[사원]","[직급]='부장'") --> Excel에서는 D_____ (범위, 열번호, 조건)
ex. [학생] 테이블에서 '학년' 필드가 1인 레코드의 개수를 계산하고자 할 때의 수식으로 옳은 것. (단, [학생] 테이블의 기본 키는 '학번' 필드이다)
-> DCOUNT( "*","학생","학년=1")
ex. [학생] 테이블에서 '점수'가 60 이상인 학생들의 인원 수를 구하는 식으로 옳은 것.
-> =DCount("학번", " 학생", ">=60")
<[페이지 번호] 대화상자>
형식: N 페이지 or N/M페이지
위치: 위치를 페이지 위쪽 or 페이지 아래쪽
맞춤: 첫 페이지에 페이지 번호 표시여부 지정
<'텍스트상자' 컨트롤의 속성>
- 상태 표시줄 텍스트 속성은 컨트롤을 선택했을 때 상태 표시줄에 표시할 메시지를 설정한다.
- 컨트롤 원본 속성에서 함수나 수식사용 시 문자는 작은 따옴표, 필드명이나 컨트롤 이름은 대괄호를 사용하여 구분한다.
- 사용 가능 속성은 컨트롤에 포커스를 이동시킬 수 있는지의 여부를 설정한다.
- 중복 내용 숨기기 속성은 데이터가 이전 레코드와 같을 때 컨트롤의 숨김 여부를 설정한다.
레코드 원본: 특정 테이블이나 쿼리와 연결할 때 사용
- 보고서 마법사를 통해 원하는 필드들을 손쉽게 선택하여 레코드 원본으로 지정할 수 있다
- 속성 시트의 레코드 원본 드롭다운 목록에서 테이블이나 쿼리를 선택하여 지정할 수 있다.
- 쿼리 작성기를 통해 쿼리를 작성하여 레코드 원본으로 지정할 수 있다.
컨트롤 원본: 해당 레코드 원본에서 특정 필드와 연결할 때 사용
컨트롤 원본을 1로 설정하여 그룹별 순번을 구한다는 것
컨트롤 원본을 [=1]로 설정하게 되면
1
1
1
과 같은 값을 가지게 되는데
위의 값을 누적 합계를 통ㅎ 계산하게 되면
1
2: 1+1
3: 2+1
이런식으로 됨 따라서 누적합계를 그룹으로 설정하면 그룹별 순번을 구할 수 있음.