본문 바로가기

Window Programming/VB

Crystal Report

 

이 장에서는 Crystal Report 4.6이라는 좀 더 섬세한 도구를 사용해 보고서를 만들어 본다.

보고서 디자인

  1. 주 화면의 메뉴에서 [파일-새 파일]을 선택하면, 다음과 같은 새 보고서 작성선택 대화상자를 볼 수 있다.

    보고서디자인은 화면에 보이는 것처럼 유형별로 다양한 보고서를 작성할 수 있도록 지원하고 있다. 예를 들어. 표준형을 선택하게되면 데이터가 그룹으로 나뉘고. 각 그룹안의 값들이 합산되어 있는 정렬과 합계보고서를 작성할 수 있다. 이런 종류의 보고서의 예로 고객별 주문 보고서, 영업 사원별 판매 보고서, 판매 업체별 구입보고서 등을 들 수 있다. 또한 크로스탭형을 선택하게 되면 요약된 데이터가 스프레드시트와 유사한 행렬구조로 표현되어 있는 보고서를 작성할 수 있다. 즉, 이 보고서는 읽기 쉽고, 특히 빠른 비교를 하거나 추세를 파악하는 데 유용하다.
    여기서는 표준형을 선택하여 데이터베이스의 테이블을 선택할 수 있는 대화상자를 연다.
  1. 테이블 선택화면에서 [데이터파일]버튼을 선택해 myDB.mdb를 선택한다. 그러면 두 개의 테이블(students, eng_score)이 리스트박스에 나타난다.

  1. 선택한 테이블을 연결해주는 대화상자에서는 연결하고자 하는 필드를 연결시킨다. 우리는 이미 테이블 설계시 두 테이블의 number필드에 인덱스를 주었기 때문에 자동적으로 두 필드가 연결되어 나타날 것이다. 그냥, [다음]버튼을 눌러 3단계 화면으로 간다.

  1. 필드선택 대화상자에서 지정한 두 테이블 필드에서 보고서에 나타낼 필드를 선택한다.

    우리의 경우엔 students.grade, eng_score.number필드를 제외하고 [추가]버튼을 사용해 나머지 필드를 옮긴다. 그리고 [보고서 필드] 리스트 상자 오른쪽 상단의 [위/아래 화살표]버튼을 사용해 위에서부터 sex, name, number, mid, final필드 순으로 정렬한다. 그리고 마지막으로 보고서 필드상자에서 각 필드를 순서대로 선택한 다음, 열 머리글란에 한글로 성별, 이름, 학번, 중간, 기말로 바꾼다.
  1. 정렬 대화상자에서 정렬할 필드를 선택한다. 우리의 경우엔 남녀별 정렬을 위해, student.sex필드를 선택해 그룹필드 리스트상자에 옮기고, 다음 합계 대화상자로 넘어간다.

  1. 합계 대화상자는 그룹필드별로 합계, 평균, 최대 혹은 최소등을 요약할 수 있는 대화상자이다.

    기본적으로 필드합계 리스트박스에는 요약할 수 있는 숫자필드들이 나타난다. students.number필드는 합계로서 의미가 없기 때문에 삭제시킨다. 그리고, eng_score.mid와 eng_score.final필드의 성별그룹 평균을 구하기위해 오른쪽 하단의 콤보박스에서 각각 평균을 선택한다. 마지막으로 총합계 추가 체크상자에서는 체크를 해제한다.
  1. 선택대화상자는 그대로 건너 뛰고 마지막으로 유형 대화상자를 선택해 제목란에 "남녀별 평균 영어점수"라고 입력한다. 그리고 유형으로 표준을 선택한다.

  1. 모든 설정이 끝났다면, [보고서 미리보기]버튼을 누른다. 그러면, 다음과 같은 보고서가 자동적으로 만들어진다. 화면의 결과가 작게나와 눈으로 식별하기 어렵다면 [보고서-확대]메뉴를 사용하면 된다.

보고서 디자인화면은 두 탭을 가지고 있다. 하나는 [미리보기]탭이고 또 다른 하나는 [디자인]탭이다. 이 두 탭 모두에서 작업을 할 수 있지만, [미리보기]탭에서 작업을 하게되면, 작업결과를 직접 볼 수 있기 때문에 초보자에게는 편하다.