상세 컨텐츠

본문 제목

[컴활 1급 Access 벼락치기] 한 번에 정리하는 폼/보고서

자격증/벼락치기 Series

by IT개미 데이터 2020. 12. 19. 17:17

본문

728x90

컨트롤

폼이나 보고서에서 데이터를 표시하고, 매크로나 함수 등의 명령을 실행하는 데 사용되는 그래픽 개체

바운드 컨트롤 * 테이블이나 쿼리의 필드가 컨트롤의 원본 데이터로 연결된 컨트롤
* 연결된 데이터를 표시하고, 이별, 수정 가능
* 하나의 필드를 여러 개의 컨트롤에 바운드 가능
* 폼 디자인 보기 상태에서 '필드 목록'창의 특정 필드를 폼으로 드래그하면 해당 필드가 바운드된 컨트롤 생성
언바운드 컨트롤 * 테이블이나 쿼리의 필드가 컨트롤의 원본 데이터에 연결되지 않은 컨트롤
* 언바운드 컨트롤에는 레이블, 명령 단추가 있음
* 언바운드 컨트롤을 바운드 컨트롤로 변경 가능
계산 컨트롤 * 데이터의 원본 데이터로 식을 사용하는 컨트롤
* 계산 컨트롤을 작성하려면 '='을 입력한 후 식을 지정함
* 값을 직접 입력할 수 없음

컨트롤 종류

텍스트 상자
* 폼이나 보고서의 원본으로 사용되는 데이터나 계산 결과를 표시하는 컨트롤
* 계산 결과를 표시하려면 컨트롤 원본에 '='로 시작하는 수식을 입력
* 필드에 바운드되었을 경우, 컨트롤의 값을 수정하면 필드의 값도 수정됨
레이블
* 제목이나 캡션, 설명 등과 같은 텍스트를 표시하는 컨트롤
* 다른 컨트롤에 덧붙일 수 있음
단추
* 레코드 탐색, 레코드 작업, 폼작업 등의 특정 기능을 실행할 때 사용하는 컨트롤
     "단추"라고 되어있지만 명령 단추임을 명심할 것!!!
옵션 그룹
* 확인란, 옵션단추, 토글 단추를 하나의 그룹으로 지정하여 사용하는 컨트롤
* 한 그룹에서는 하나의 옵션만 선택 가능
콤보 상자
* 텍스트 상자와 목록 상자가 결합된 형태의 컨트롤
* 좁은 공간에서 융용하게 사용되는 컨트롤
* 데이터를 목록에서 선택하거나 직접 입력 가능
* 테이블/쿼리, 값 목록, 필드 목록 등을 콤보 상자의 값으로 사용함
* 여러 개의 값 중 하나만 선택 가능
토글 단추
* YES나 NO 중 하나를 선택할 수 있는 컨트롤
확인란
* 여러 개의 값 중 하나 이상을 선택할 수 있는 컨트롤
* 폼이나 보고서에 'YES/NO' 필드 추가시 '확인란'컨트롤이 삽입됨
하위 폼/
하위 보고서
* 폼이나 보고서 안에 또 다른 폼이나 보고서를 작성하는 컨트롤
* 일 대 다 관계에 있는 테이블이나 쿼리를 효과적으로 표시 가능

 

폼[FORM]

테이블이나 질의(쿼리), SQL문을 원본으로 하여 데이터의 입력, 수정, 삭제, 조회 등의 작업을 편리하게 수행할 수 있도록 환경을 제공하는 개체

  • 디자인 보기에서 폼 수정
  • 폼에서 데이터를 입력하거나 수정하면 연결된 원본 테이블/쿼리에 반영
  • 폼과 컨트롤의 여러가지 이벤트 속성을 이용해 원하는 작업을 자동화 가능
  • 폼 머리글, 본문, 폼 바닥글, 페이지 머리글, 페이지 바닥글로 구성
        → 모든 구역을 구성할 필요는 없음
    폼 머리글 * 폼 제목 등과 같이 모든 레코드에 동일하게 적용될 정보가 입력되는 곳
    * 폼 보기(단일 폼)에서는 상단에 매번 표시되고, 인쇄미리보기에서는 첫 페이지의 상단에 한번만 표시
    페이지 머리글 * 모든 페이지의 상단에 동일하게 표시될 정보 입력하는 곳
    * 인쇄 미리 보기에서 페이지마다 페이지 상단에 표시[첫 페이지에는 폼 머리글 아래에 표시됨]
    * 폼 보기에서는 표시되지 않음
    본문 * 실제 내용을 입력하는 곳
    * 단일 폼에서는 한 화면에 하나의 레코드가 표시됨
    * 연속 폼과 데이터시트 폼에서는 한 화면에 여러 개의 레코드가 표시됨
    폼 바닥글 * 폼 요약 정보 등과 같이 모든 레코드에 동일하게 적용될 정보가 입력되는 구간
    * 폼 보기(단일 폼)에서는 매번 하단에 표시
    * 인쇄 미리보기에서는 마지막 페이지 본문 다음에 한번만 표시
    페이지 바닥글 * 모든 페이지의 하단에 동일하게 표시될 정보가 입력되는 곳
    * 매 페이지마다 페이지 하단에 표시

자동폼

폼을 자동으로 만들어 주는 폼

  • 원본 테이블/쿼리의 필드와 레코드를 모두 표시
  • 기본적으로 한 개의 테이블이나 쿼리를 원본으로 하여 폼을 작성
  • 작성된 폼은 레이아웃 보기로 표시됨
        → 데이터를 보면서 컨트롤 크기 및 위치 변경 가능 

자동폼 생성 도구

* 열 형식의 폼이 작성됨
* 관계가 설정된 테이블이 있을 경우, 하단에 데이터시트 보기 형태로 표시됨
폼 분할 * 하나의 원본 데이터를 이용하여 상단에는 열 형식으로 하단에는 데이터시트 형식으로 화면에 작성
* 폼을 만들면 기본적으로 레이아웃 보기 형태로 표시됨
    컨트롤의 크기 조정 및 이동, 필드 추가가 가능함
* 두 형식은 하나의 원본 데이터를 사용하므로 서로 연결되어 있어 항상 동기화됨
* 디자인 보기 형태로 열면 열 형식의 형태로 컨트롤들이 표시됨
여러 항목 * 테이블 형식의 폼이 작성됨

 

하위 폼

폼 안에 있는 또 하나의 폼[1(기본 폼):M(하위 폼)관계에 있는 테이블 쿼리를 효과적으로 표현 가능]

  • 테이블, 쿼리나 다른 폼을 이용해 하위 폼을 작성 가능
  • 기본 폼의 현제 레코드와 관련된 레코드만 표시
  • 하위 폼은 연속 폼으로 표시 가능하지만 기본 폼은 연속 폼으로 표시 불가
  • 일반적으로 사용 가능한 하위 폼의 개수에는 제한 없음

기본 폼과 하위폼 연결

  • 연결 필드의 데이터 종류는 반드시 같아야함
    데이터 형식, 필드 크기도 같거나 호환되어야 함
  • 여러 개의 연결 필드를 지정하려면 세미콜론(;)으로 필드명을 구분하여 입력
    혹은 '하위 폼 필드 연결기' 창에서 여러 필드를 선택
  • 기본 폼과 하위폼을 연결한 필드는 하위 폼 컨트롤 속성에서 '테이터'탭의 '하위 필드 연결'과 '기본 필드 연결'에서 변경 가능

 

폼의 종류

폼의 모양에 따른 분류

열 형식 각 필드가 왼쪽의 레이블과 함께 각각의 행에 표시되고 레이아웃이 자동으로 설정됨
테이블 형식 각 레코드의 필드들이 한 줄에 나타나며, 레이블은 폼의 맨 위에 한 번 표시됨
데이터시트 레코드는 행으로, 필드는 열로 각각 나타나는 행/열 형식임
맞춤 필드 내용의 분량에 따라 각 필드를 균형있게 배치하는 형식임

테이블/쿼리와의 연결 여부에 따른 분류

바운드 폼 테이블이나 쿼리의 레코드와 연결되어 있는 폼
테이블이나 쿼리의 데이터를 표시하거나 입력, 수정, 삭제 등의 편집 작업이 가능
폼의 '레코드 원본'속성을 이용해 바운드시킴
언바운드 폼 테이블이나 쿼리의 레코드와 연결되지 않은 폼
주로 프로그램의 초기화면, 검색화면, 확인화면 등을 위한 명령 단추로 이뤄진 화면에 많이 사용됨

 

※ 컨트롤 콤보상자로 변경

  • 해당 컨트롤 마우스 오른쪽 클릭
  • [변경 → 콤보 상자]클릭

※ 컨트롤 왼쪽/오른쪽 정렬

  • 해당 컨트롤 선택 후 [형식 → 글꼴]에서 주어진 정렬 선택

※ 가로/세로 간격 같게 설정

  • 해당되는 컨트롤 모두 선택
  • [정렬 → 크기 및 순서 조정]에서 크기/공간 선택
  • 해당되는 간격 조건 선택
  • [정렬 → 크기 및 순서 조정]에서 맞춤 설정 가능
        눈금에 맞춤, 왼쪽, 오른쪽, 위쪽, 아래쪽

※ 탭,컨트롤, 레이블 순서 설정

     유형1 탭순서 설정

  • 폼의 빈공간에서 마우스 오른쪽 클릭
  • 탭 순서 선택

     유형2. 컨트롤과 관련 레이블 순서 설정

  • shift키를 눌린 상태에서 컨트롤 및 텍스트 상자 선택하여 방향키로 직접 이동시킴

※ 행 원본에 특정 필드값이 중복없이 표시되도록 쿼리 작성기 설정

  • 행 원본의 [...]아이콘 클릭
  • 문제에 주어진 테이블을 추가
  • 해당 테이블에서 문제에 주어진 필드 더블클릭해서 추가
  • 쿼리 작성기의 빈공간 더블클릭하면 속성 시트창이 생김
  • 고유값을 예로 설정

# 속성 시트의 형식 탭에서 설정 가능한 속성

더보기
형식 설명
형식
0은 숫자값이 없으면 0으로 표시

#은 숫자값이 없으면 아무표시 안함 

     ex> 총 명/건 수를 "7명" 형식으로 표시하시오.
              컨트롤 원본 : =COUNT(*)
              형식          :  #"명/건"   /    0"명/건"
다른방법.  컨트롤 원본 : =COUNT(*) & "명/건"
         

소수 자리수  
열 개수 목록/콤보 상자에 표시되는 열의 개수
열 너비 목록/콤보 상자에 표시되는 열의 너비
열 이름  
행 수  
목록 너비  
구분 문자  
너비  
높이  
위쪽  
왼쪽  
배경 스타일  
배경색  
테두리 스타일  
테두리 색  
특수 효과  
글꼴 이름  
글꼴 크기  
텍스트 맞춤  
글꼴 두께  
글꼴 밑줄  
글꼴 기울임꼴  
문자색  
확장 가능  
축소 가능  
표시 시기  
코드 선택기    예    : 나타내기
아니오 : 감추기

       ex1> 하위 폼에 '레코드 선택기'가 표시되지 않도록 설정하시오.
             A. 코드 선택기 : 아니오
탐색 단추    예    : 나타내기
아니오 : 감추기

       ex1> 하위 폼에 '탐색 단추'가 표시되지 않도록 설정하시오.
             A. 탐색 단추 : 아니오
구분선    예    : 나타내기
아니오 : 감추기

       ex1> 하위 폼에 구분선이 표시되지 않도록 설정하시오.
             A. 구분선 : 아니오

 

# 속성 시트의 데이터 탭에서 설정 가능한 속성

더보기
데이터 설명
레코드 원본 * 사용할 데이터의 원본을 설정
레코드 집합 종류  
기본값 반입  
필터  
로드할 때 필터링  
정렬 기준 필드명 desc
필드명 asc
로드할 때 정렬  
추가 가능 예       : 레코드 추가 가능
아니오 : 레코드 추가 불가
삭제 가능  
편집 가능  
필터 사용  
레코드 잠금  
데이터 설명
컨트롤 원본 * 사용할 데이터의 원본을 설정

     ex1> 총 명/건 수를 "7명" 형식으로 표시하시오.
           A. 컨트롤 원본 : =COUNT(*) & "명/건"

           → Count(*) : Null값을 포함한 전체 레코드의 개수
           → Count([필드명]) : Null값을 제외한 레코드의 개수
     ex2> 'txt인원' 컨트롤에 인원 필드를 바운드시키시오.
           A. 컨트롤 원본 : [인원]
텍스트 형식  
행 원본  
행 원본 유형 테이블/쿼리
바운드 열 선택한 목록의 여러 열 중 해당 컨트롤에 저장되는 열을 설정[기본값 1]
    * 목록의 첫번째 열이 1(두번째 열 2,세번째 열 3,....)
    * 열 개수는 목록/콤보 상자에 표시되는 열의 개수
입력 마스크  
기본값  
유효성 검사 규칙  
유효성 검사 텍스트  
검색 필터  
사용 가능  
잠  금    예    : 데이터 수정 불가
아니오 : 데이터 수정 가능
데이터 설명
원본 개체  
기본 필드 연결 [...]아이콘을 클릭하면 하위 폼 필드 연결기가 켜짐
레코드 원본 및 관계를 참조해 적절한 필드를 기준으로 연결
자동으로 기본 필드와 하위 필드가 설정됨   
하위 필드 연결
사용 가능  
잠  금    예    : 데이터 수정 불가
아니오 : 데이터 수정 가능

 

# 속성 시트의 기타 탭에서 설정 가능한 속성

더보기
데이터 설명
컨트롤 팁 텍스트 해당 컨트롤에 마우스 포인터가 위치하는 경우 나타나는 메시지 설정 가능
탭 인덱스 인덱스를 통해 탭 순서를 부여한 것
           ex> 탭 인덱스 :  0
                → 로드 시, 바로 커서가 컨트롤에 나타나도록 설정한다는 의미
                    [단, 탭 정지가 예로 설정되어있어야지만 포커스가 이동함]


탭 정지    예    : 탭 이동시에 포커스가 옮겨감
아니오 : 탭 이동시에 포커스가 옮겨가지 않음 

        ex1> 하위 폼 본문의 'txt납입액'컨트롤에 탭 전환시 포커스가 이동하지 않도록 설정
             A. 탭 정지 : 아니요
추가 가능  
삭제 가능  
편집 가능  
필터 사용  
레코드 잠금  

 

 

728x90

보고서

테이블이나 질의 등의 데이터를 요약하거나 그룹화하여 종이에 출력하기 위한 개체

  • 보고서는 프린터를 통해 출력하기 위한 양식
  • 폼과 동일하게 여러 유형의 컨트롤로 데이터를 표시 가능
        → 데이터 입력, 추가, 삭제 등의 작업은 불가능
  • 보고서의 레코드 원본으로 테이블, 쿼리, SQL문 등을 지정 가능
  • '디자인보기'상태에서 보고서 설정 및 수정
    '인쇄 미리보기'나 '레이아웃 보기' 상태에서 보고서 확인
  • 보고서에 자료별 평균, 합계, 개수 등의 통계 자료 표시 가능

보고서 보기

보고서 보기 * 출력될 보고서를 미리 보는 기능[화면 출력용]
* 인쇄 미리보기와 유사하지만 페이지 구분 없이 보고서를 모두 표시
인쇄 미리 보기 * 출력될 보고서를 미리 보는 기능[종이 출력용]
* 종이에 출력되는 모양 전체를 미리 보기 가능
레이아웃 보기 * '보고서 보기'와 '디자인 보기'를 혼합한 형태
* 보고서의 레이아웃을 보여주는 '보고서 보기'기능
                          +
  컨트롤 크기 및 위치, 그룹 수준 및 합계를 변경하거나 추가 가능한 '디자인 보기' 기능
디자인 보기 * 컨트롤 도구를 이용해 보고서 생성 및 수정
* 실제 데이터는 표시되지 않음[실제 표시될 데이터 확인을 위해 인쇄미리보기 기능 사용]

보고서의 주요 속성

레코드 원본 * 사용할 데이터의 원본을 설정
* 테이블, 쿼리, SQL문 등을 레코드 원본으로  지정
컨트롤 원본 * 사용할 데이터의 원본을 설정

  ex1> 입구ID 머리글 영역의 'txt입구ID'컨트롤에는 '입구ID'와 '지역명'을 함께 표시[입구ID-지역명]
         = [입구ID] & "-" & [지역명]
  ex2> 입구ID 바닥글 영역의 'txt총납입액'컨트롤에는 납입액의 합계가 표시되도록 설정
        =SUM([납입액])
  ex3> 납입액 합계를 "소계는 7,777원입니다."의 형식으로 출력하시오.
         =FORMAT(SUM([납입액]),"소계는 #,###원입니다.")
  ex4> 오늘 날짜를 "2017년 7월 07일 07시"형식으로 출력하시오.[format,now함수 사용]
         =FORMAT(NOW(), "yyyy년 m월 dd일 hh시")
  ex5> 그룹별 거래 건수에를 "7건"형식으로 출력하시오[FORMAT, COUNT함수 이용]
        단, 0건일 경우 표시 안함
         =FORMAT(COUNT(*), "#건")
  ex6> 해당 컨트롤에 "현재페이지번호/전체페이지번호"형식으로 출력하시오.  
        =[Page] & " / " & [Pages]
  ex7> 현재페이지번호를 "007페이지"형식으로 출력하시오.[단, 0일 경우 000페이지로 표시]
         =FORMAT([Page], "000페이지")

누적합계
아니요 : 현재 레코드의 원본으로 사용하는 필드의 데이터를 텍스트 상자에 표시[기본값]
 그 룹  : 그룹별로 누적 합계를 계산하여 표시
 모 두  : 그룹에 관계없이 보고서의 끝까지 값을 누적하여 표시

  ex1> 본문 영역의 'txt순번'컨트롤에는 그룹별로 일련번호가 표시되도록 설정하시오.
        → 누적합계를 "그룹"으로 설정하여 그룹별로 누적합계 계산
        → 컨트롤 원본을 "=1"로 설정하면 1씩 커지며 누적합계를 계산
중복 내용 숨기기 이전 레코드와 동일한 경우 레코드 값이 표시되지 않도록하는 기능
  ex1> 'txt차종'컨트롤에는 '차종'필드의 값이 이전 레코드와 동일할 때 표시되지 않도록 설정하시오.
        → 중복내용숨기기 : 예
필터 추출 조건으로 사용할 필터 설정
필터 사용 지정된 필터의 사용 여부 설정
정렬 기준 정렬 기준 설정
반복 실행 구역 해당 머리글을 매 페이지마다 표시할지의 여부를 지정[그룹 머리글의 속성]
기본 보기 보고서의 보기 형식을 지정[보고서 보기 / 인쇄 미리보기]

2020/12/18 - [자격증/벼락치기 Series] - [컴활 1급 Access 벼락치기] 한 번에 정리하는 일반함수&데이터베이스함수

 

보고서의 구성

보고서 머리글 * 보고서의 첫 페이지 상단에 표시됨[단 1번]
    → 매 페이지마다 표시할려면 페이지 머리글에 제목 작성
* 로고, 보고서 제목, 날짜 등을 주로 삽입
* 보고서 머리글의 속성시트에서 배경색 등을 설정 가능

    ex1> 보고서 제목을 보고서 첫 페이지에 한 번만 표시되도록 작성하시오
         A. [디자인 → 컨트롤]에서 레이블을 선택하여 보고서 머리글에 제목 삽입



페이지 머리글 * 보고서 모든 페이지의 상단에 표시[단, 첫 페이지에는 머리글 다음에 표시됨]
* 열 제목 등을 주로 삽입
그룹 머리글 * 그룹 지정시, 그룹 상단에 표시됨
* 그룹의 이름, 요약정보 등을 주로 삽입
* 그룹, 정렬 및 요약'창에서 설정
본문 * 실제 데이터가 반복적으로 표시되는 부분
그룹 바닥글 * 그룹 지정시, 그룹 하단에 표시됨
* 그룹별 요약 벙보 등을 주로 삽입
* 그룹, 정렬 및 요약'창에서 설정
페이지 바닥글 * 보고서 모든 페이지의 하단에 표시
* 날짜, 페이지번호 등을 주로 삽입
보고서 바닥글 * 보고서의 마지막 페이지에 표시됨
* 디자인 보기 상태에서는 가장 마지막 구역에 표시
* 인쇄 미리보기 상태에서는 마지막 페이지의 페이지 바닥글 위쪽에 한 번만 표시

 

 

보고서의 그룹화

  • 특정한 필드의 값을 기준으로 데이터를 구분하여 표시하는 기능
        → 보고서의 내용을 한눈에 파악 가능
  • 특정 필드를 기준으로 그룹화하는 경우, 데이터는 그 필드를 기준으로 정렬되어 표시
  • 그룹을 만들려면 머리글 구역이나 바닥글 구역 중 하나 이상을 만들어야 함
        → 그룹 삭제시 그룹 머리글이나 바닥글 구역에 삽입된 컨트롤들도 모두 삭제됨
  • 그룹으로 설정한 필드에 그룹 간격, 요약, 인쇄 형식등을 설정 가능
  • 필드나 식을 기준으로 10개까지 그룹화 가능
날짜 데이터 그룹화 연도별, 분기별, 월별, 주별, 일별 그룹화 가능
문자열 데이터 그룹화 첫 문자, 처음 두 문자, 사용자 지정 문자 등을 기준으로 그룹화 가능
숫자 데이터 그룹화 지정한 간격으로 그룹화
함수 사용 가능


※ 그룹화된 필드 머리글/바닥글

  • 보고서의 빈 영역 마우스 오른쪽 클릭
  • 정렬 및 그룹화 선택
  • 해당 그룹화 필드에서 자세히▶를 클릭
        → 머리글 구역 표시, 바닥글 구역 표시 설정 가능

※ 그룹 머리글/바닥글 속성 시트[해당 영역 더블 클릭 혹은 F4]

  • 해당 그룹 머리글/바닥글 영역에 "대체 배경색 없음"옵션을 설정하시오.
        → 다른 배경색 : 색 없음
  • 해당 그룹 머리글/바닥글 영역에 "같은 페이지에 인쇄" 옵션을 설정하시오.
        → 같은 페이지에 : 예
        → 해당 영역이 잘려서 출력되게 될 경우, 해당 영역을 전부 뒷 페이지에 함께 출력  
  • 해당 그룹 머리글/바닥글 영역을 매 페이지마다 반복적으로 표시/인쇄되도록 설정하시오.
        → 반복 실행 구역 : 예
  • 해당 그룹 머리글/바닥글 영역으로 바뀌면 페이지가 바뀌도록 설정하시오.
        → 페이지 바꿈 : 구역전, 구역후, 구역전/후 중 설정 가능

※ 정렬 및 그룹화 설정

  • 보고서의 빈 영역 마우스 오른쪽 클릭
  • 정렬 및 그룹화 선택
  • 문제에 주어진 조건대로 정렬
       소수자리수는 속성시트의 형식에서 지정 가능
  • 자세히▶를 클릭하면 머리글 구역 표시, 바닥글 구역 표시, 같은 페이지에 표시 등 설정 가능

※ 선 삽입

  • [디자인 → 컨트롤]에서 선 선택
  • shift키를 누른채로 문제에서 주어진 위치에 선을 그림
  • 선을 더블클릭하여 속성시트에서 조건 설정

※ 인쇄용지, 방향, 여백 설정

  • [페이지 설정]에서 설정 가능
  • [페이지 크기]의 크기에서 용지 사이즈 설정 가능
  • [페이지 레이아웃]에서 가로*세로 설정 가능
  • [페이지 레이아웃]의 페이지 설정에서 여백 설정 가능

2020/12/13 - [자격증/컴활 1급] - [개미의 걸음 3과목 데이터베이스 일반] 조회 및 출력① 보고서

 

 

 

 

728x90

관련글 더보기

댓글 영역