폼 만들기와 속성
쉽게 말하면
폼은 데이터를 넣고 보는 '입력 창구'예요. 테이블을 그대로 보면 줄이 길고 헷갈리지만, 폼은 회원 한 명씩 카드처럼 보여 주거나 버튼을 달아 쓰기 쉽게 만들어 줘요. 어떤 테이블(또는 쿼리)을 보여 줄지 정하는 게 '레코드 원본'이에요.
시험용 정의
폼은 테이블이나 쿼리의 데이터를 입력·수정·조회하는 화면이다. 폼이 보여 줄 데이터는 레코드 원본 속성으로 정하며 테이블·쿼리·SQL 문을 쓸 수 있다. 레코드 원본이 있으면 바운드 폼, 없으면 언바운드 폼(버튼만 있는 메뉴 화면 등)이다. [만들기] → [폼] 그룹에는 한 번에 한 레코드를 보여 주는 폼, 폼 보기와 데이터시트 보기를 함께 보여 주는 폼 분할, 여러 레코드를 표처럼 보여 주는 여러 항목, 단계별로 고르는 폼 마법사(모양: 컬럼 형식·테이블 형식·데이터시트·맞춤), 빈 화면에서 시작하는 폼 디자인·새 폼이 있다. 폼은 폼 머리글(제목, 화면 위에 늘 표시), 페이지 머리글·바닥글(인쇄할 때만), 본문(레코드 내용), 폼 바닥글(합계·요약)로 나뉜다. 주요 속성으로 기본 보기(단일 폼·연속 폼·데이터시트·분할 표시 폼), 모달(닫기 전까지 다른 창 불가), 팝업(다른 창 위에 떠 있음), 탐색 단추, 레코드 선택기, 레코드 잠금(기본값 '잠그지 않음'), 레코드 집합 종류(다이너셋은 수정 가능, 스냅숏은 읽기 전용)가 있다. 탭 순서는 기본으로 컨트롤을 만든 순서이고, [탭 순서] 대화 상자에서 끌어 바꾸거나 [자동 순서](위→아래, 왼쪽→오른쪽)를 누른다. 탭 정지를 '아니요'로 하면 Tab 키로 그 컨트롤에 가지 않는다.
비유로 이해하기
폼은 은행 창구의 입력 화면이다. 위쪽 머리글에 '고객 정보'라는 제목이 있고, 가운데 본문에 고객 한 명의 정보, 아래 바닥글에 합계가 있다. 모달 폼은 '확인을 누르기 전까지 다른 일을 못 하는' 경고 창과 같다.
자세히
폼 만드는 도구
| 도구 | 결과 |
|---|---|
| 폼 | 선택한 테이블·쿼리로 한 레코드씩 보이는 폼 |
| 폼 분할 | 폼 보기 + 데이터시트 보기를 한 화면에 (동기화) |
| 여러 항목 | 여러 레코드를 표처럼 한 화면에 |
| 폼 마법사 | 필드·모양(컬럼 형식·테이블 형식·데이터시트·맞춤)을 단계별로 선택 |
| 폼 디자인·새 폼 | 빈 폼에서 직접 컨트롤 배치 |
| 모달 대화 상자 | 확인·취소 단추가 있는 모달 폼 |
폼 구역
| 구역 | 보이는 때 | 넣는 것 |
|---|---|---|
| 폼 머리글 | 화면 위에 늘 | 제목, 검색 단추 |
| 페이지 머리글 | 인쇄할 때 페이지마다 위 | 인쇄용 제목 |
| 본문 | 레코드마다 | 필드 컨트롤 |
| 페이지 바닥글 | 인쇄할 때 페이지마다 아래 | 페이지 번호 |
| 폼 바닥글 | 화면 아래에 늘 | 합계·요약 |
헷갈리는 속성
| 속성 | 뜻 |
|---|---|
| 모달 '예' | 그 폼을 닫기 전까지 다른 창을 고를 수 없다 |
| 팝업 '예' | 다른 창 위에 떠 있지만, 다른 창도 쓸 수 있다 |
| 레코드 잠금 | 기본 '잠그지 않음': 편집 중에도 다른 사람이 같은 레코드를 바꿀 수 있다 |
| 레코드 집합 종류 | 다이너셋: 수정 가능 / 스냅숏: 조회만 |
| 탐색 단추 | 첫·이전·현재 번호·다음·마지막·새(빈) 레코드 |
| 분할 표시 폼 방향 | 데이터시트를 위·아래·왼쪽·오른쪽 중 어디에 둘지 |
탭 순서
- 기본: 컨트롤을 만든 순서 (마법사·레이아웃 도구로 만들면 위→아래, 왼쪽→오른쪽)
- [탭 순서] 대화 상자에서 행을 끌어 바꾸거나 [자동 순서]로 위→아래, 왼쪽→오른쪽
- 탭 정지 '아니요' → Tab으로 건너뜀. 기본값은 '예'
- 레이블에는 탭 순서가 없다
시험에 이렇게 나와요
- 폼 분할 → 폼 보기·데이터시트 동시 표시, 동기화, 방향 지정, 만든 뒤에도 컨트롤 크기 조정 가능
- 레코드 원본 → 테이블·쿼리·SQL 문 (매크로는 불가)
- 탭 순서 기본은 만든 순서, 자동 순서는 위→아래·왼쪽→오른쪽, 탭 정지 '아니요'로 건너뜀
- 모달 → 닫기 전 다른 창 선택 불가 (다른 폼 안의 폼은 하위 폼)
- 폼 머리글은 화면용, 인쇄 때 페이지마다 나오는 것은 페이지 머리글
- 레코드 잠금 기본값 '잠그지 않음', 언바운드 폼도 있음
- 폼 마법사 컬럼 형식 → 필드마다 한 줄, 왼쪽에 레이블
확인 문제
Q1. 폼 보기와 데이터시트 보기를 한 화면에 동시에 보여 주는 폼을 가장 쉽게 만드는 도구는?
- 폼 마법사
- 여러 항목
- 폼 분할
- 모달 대화 상자
정답 보기
3번 폼 분할
폼 분할은 위·아래(또는 좌우)로 폼 보기와 데이터시트 보기를 함께 만든다. 두 보기는 같은 원본을 써서 늘 맞춰 움직인다.
Q2. 폼의 레코드 원본으로 쓸 수 없는 것은?
- 쿼리
- 매크로
- 테이블
- SQL 문
정답 보기
2번 매크로
레코드 원본은 데이터를 주는 테이블·쿼리·SQL 문이다. 매크로는 동작이라 원본이 될 수 없다.
Q3. 특정 텍스트 상자에 Tab 키로 들어가지 않게 하려면?
- 탭 정지 속성을 '예'로
- 탭 인덱스를 -1로
- 탭 인덱스를 0으로
- 탭 정지 속성을 '아니요'로
정답 보기
4번 탭 정지 속성을 '아니요'로
탭 정지가 '아니요'면 Tab 순서에서 빠진다.
Q4. 폼 속성 설명으로 옳은 것은?
- 팝업 폼은 닫아야만 다른 창을 쓸 수 있다
- 모달 폼은 닫기 전까지 다른 창으로 이동할 수 없다
- 레코드 잠금의 기본값은 '모든 레코드'다
- 레코드 집합 종류가 다이너셋이면 조회만 된다
정답 보기
2번 모달 폼은 닫기 전까지 다른 창으로 이동할 수 없다
팝업은 위에 떠 있을 뿐 다른 창도 쓸 수 있다. 레코드 잠금 기본값은 '잠그지 않음', 다이너셋은 수정 가능하다.
Q5. 폼의 [탭 순서] 대화 상자에서 [자동 순서]를 누르면 어떤 순서가 될까?
- 컨트롤 이름의 가나다순
- 위에서 아래, 왼쪽에서 오른쪽
- 컨트롤을 만든 순서
- 위에서 아래, 오른쪽에서 왼쪽
정답 보기
2번 위에서 아래, 왼쪽에서 오른쪽
자동 순서는 화면 배치 기준 위→아래, 왼쪽→오른쪽이다. 만든 순서는 기본값이다.
헷갈리기 쉬운 O·X
폼에 컨트롤을 직접 추가하면 탭 순서가 위에서 아래, 왼쪽에서 오른쪽으로 자동 정해진다.
정답 보기
X 직접 추가하면 만든 순서대로 탭 순서가 붙는다. 배치 순서로 맞추려면 [자동 순서]를 누른다.
모든 폼은 테이블이나 쿼리와 연결된 바운드 폼이다.
정답 보기
X 레코드 원본이 없는 언바운드 폼(메뉴 화면 등)도 만들 수 있다.