본 게시물에서는 하위 폼 컨트롤을 사용하는 방법에 대해 알아보자.관계가 설정된 테이블의 데이터 흐름이나 변화 등을 한눈에 파악하기 위해 하위 폼을 활용하게 된다. 삽입된 하위 폼에서 새로운 행(레코드) 정보를 입력하거나 수정 등의 작업도 할 수 있다.



메인 폼에 삽입할 하위 폼을 먼저 제작해보자. 아래 첨부된 [문제_도서대출정보.accdb]를 다운받고 액세스 2010에서 열어 [만들기] 탭에 있는 [폼 디자인]을 누른다.



그러면 열(필드)을 끌어 놓을 수 있는 폼 영역이 나타난다.



[폼 디자인 도구][디자인] 탭에 있는 [속성 시트]를 누른다. [속성 시트] 작업창의 [데이터] 탭에 있는 [레코드 원본]에서 [...] 버튼을 누른다.



[쿼리 작성기] 화면에 [테이블 표시] 창이 나타나면 [학생정보][도서대여정보] 테이블을 추가한다. (※ [학생정보]와 [도서대여정보]는 이미 관계 설정이 되어 있음.)



[쿼리 작성기] 화면에  [학생정보][도서대여정보] 테이블이 나타나면 [필드][학번], [도서코드], [대출도서명], [대출일], [반납일]  열(필드)을 표시한다. 이때 중요한 점은 관계가 설정된 테이블에서 테이블을 연결하는 기본키와 같은 이름의 열(필드)를 반드시 포함시켜야 한다. 본 예에서는 [도서대여정보] 테이블에서 [학번] 열(필드)를 포함시켰다. 설정을 마쳤으면 창을 닫는다.



창이 닫히면서 아래 그림과 같이 [속성 업데이트]에 관한 메시지 창이 나타나면 [예] 버튼을 누른다.



다시 하위 폼 편집 화면으로 돌아오면 [폼 디자인 도구][디자인] 탭에 있는 [기존 필드 추가]를 누른다.



오른쪽 화면에 [필드 목록] 작업창이 나타나면 방금 [쿼리 작성기]에서 설정한 쿼리 필드 목록을 확인할 수 있다. 여기서 [학번] 열(필드)를 제외한 나머지 열을 선택하고 폼으로 끌어 놓는다. (※ <Ctrl> 또는 <Shift> 키를 누르고 여러 열(필드)을 선택할 수 있다.)



[쿼리 작성기]에서 설정한 쿼리 필드 목록을 폼에 끌어 놓으면 아래 그림과 같이 각 열(필드)를 나타내는 [레이블][텍스트 상자]가 나타난다.



폼의 본문 영역에서 마우스 오른쪽 버튼을 눌러 [폼 머리글/바닥글]을 선택한다.



각 열(필드)의 [레이블][폼 머리글] 영역으로 옮기고 적절한 서식을 지정한 후, 각 [레이블]의 위치에 맞추어 [텍스트 상자]를 배치한다. 그리고 본문 영역의 높이를 아래 그림과 같이 좁혀보자. (해당 레이블을 선택하고 잘라내기 한 후 폼 머리글에 붙여넣기 하면 아래 그림과 같이 배치할 수 있음.)



[폼 디자인 도구][디자인] 탭에서 [텍스트 상자]를 선택하고 [폼 바닥글]에 드래그하여 배치한다.



그러면 아래 그림과 같이 폼 바닥글에 [텍스트 상자][레이블]과 함께 삽입된다.



[텍스트 상자]가 삽입됨과 동시에 [텍스트 상자 마법사]가 실행된다. 이 기능은 현재 필요하지 않으므로 [취소] 버튼을 누른다.



[폼 디자인 도구][디자인] 탭에서 [속성 시트]를 누른다.



화면 오른쪽에 [속성 시트] 작업창이 나타나면 [데이터] 탭에 있는 [컨트롤 원본][...] 버튼을 누른다.



[식 작성기] 창에 COUNT([도서코드]) & "권" 을 입력하고 [확인] 버튼을 누른다.



그러면 [텍스트 상자]'=COUNT([도서코드]) & "권"' 이 나타난다. [텍스트 상자]에 연결된 [레이블]'총 대출권수'를 입력하고 적절한 서식을 지정한다.



오른쪽 화면에 있는 [속성 시트] 작업창에서 [선택 유형]'폼'으로 바꾸고 [형식] 탭에 있는 [기본 보기]'연속 폼'으로 설정한다. (※ 폼의 본문 영역을 선택하고 [기본 보기]를 수정해도 됨.)



하위 폼 기능을 확인하기 위해 [폼 디자인 도구][디자인] 탭에 있는 [보기]를 누른다.



폼이 실행되면 아래 그림과 같이 행(레코드) 정보를 한눈에 볼 수 있는 [연속 폼][계산 컨트롤] 기능을 확인할 수 있다.



[저장] 버튼을 눌러 현재 폼을 '도서대여정보 하위폼'으로 저장한다.



하위 폼 제작을 마쳤으면 메인 폼에 연결해보자. 왼쪽 개체 창에 있는 [학생정보] 폼에서 마우스 오른쪽 버튼을 눌러 [디자인 보기]를 선택한다.



[폼 디자인 도구][디자인] 탭에서 [하위 폼/ 하위 보고서]를 선택하고 [본문]에 드래그하여 배치한다.



그러면 아래 그림과 같이 본문에 [하위 폼/하위 보고서]가 [레이블]과 함께 삽입된다.



[하위 폼/하위 보고서]가 삽입됨과 동시에 [하위 폼 마법사]가 실행된다. 첫 번째 단계에서 [기존 폼 사용]에 있는 '도서대여정보 하위폼' 을 선택하고 [다음] 버튼을 누른다.



[하위 폼 마법사]의 두 번째 단계에서 [목록에서 선택]에 있는 '학번을 중심으로 연결'을 선택하고 [다음] 버튼을 누른다.



[하위 폼 마법사]의 마지막 단계에서 하위 폼의 이름을 확인한 후 [마침] 버튼을 누른다.



그러면 아래 그림과 같이 '도서대여정보 하위폼'[하위 폼/하위 보고서] 영역에 나타난다.



[학생정보] 폼과 하위 폼의 기능을 확인하기 위해 [폼 디자인 도구][디자인] 탭에 있는 [보기]를 누른다. 



그러면 아래 그림과 같이 각 학생 정보에 따른 도서대출 정보가 연동되어 나타나는 것을 확인할 수 있다. 폼 바닥글에 삽입된 명령 단추를 눌러 행(레코드) 정보를 이동시켜보자.



폼은 행(레코드) 정보를 확인하는 기능 뿐만 아니라 삽입, 수정도 가능하다. 특정 학생의 도서대여 정보에 새로운 대출 정보를 아래 그림과 같이 입력한다.



폼 바닥글에 삽입된 명령 단추를 눌러 다시 해당 학생 정보로 이동하면 수정된 도서대여 정보를 확인할 수 있다. 



[도서대여정보] 테이블을 열면 폼에서 입력한 데이터가 삽입된 것을 확인할 수 있다.



※ 첨부 파일

문제_도서대출정보.accdb

답_도서대출정보.accdb



Posted by inulibarts
,