2004-11-25, 염기웅(carl@jnccompany.com.korea / kiwoong.jnccompany.com)


<참고> 상기한 저자 이메일의 .korea는 스팸 방지용입니다.

버전: 공통

025_Samples.zip

샘플파일 다운로드



다음 그림과 같은 액세스 보고서를 살펴보기 바랍니다. 이 보고서는 데이터베이스에 등록된 제품을 보여주는 ‘제품 목록’ 보고서입니다.




특별한 문제점은 찾을 수 없겠지만, 다음 그림과 같이 ‘일련번호’가 각 행에 붙으면 더 좋은 보고서가 될 것 같습니다.




여기에서 ‘번호’ 필드의 특성은 제품 자체와는 전혀 연관관계가 없다는 점입니다. 즉, 1번 제품이 ‘노르웨이산 연어알 조림’ 이라는 뜻은 아닙니다. 그런 의미가 있다면 당연히 여기에서의 ‘번호’ 필드는 데이터베이스에 값을 저장시켜야 할 것입니다.

여기에서는 그러한 연관관계는 필요 없고, 단지 보고서가 출력될 때 아무런 연관관계 없는 ‘행 번호’가 출력되고 싶을 때, 해당하는 기능을 어떻게 적용시킬 수 있을지 알아보도록 하겠습니다.

일반적으로 이러한 기능을 구현하려면 우선 쿼리에서 일련번호를 만들어 내는 방법을 연구해야 합니다. 엑셀에서는 이러한 기능 구현이 무척 쉽고 간단하지만, 액세스에서는 이러한 기능 구현이 꽤 어렵습니다. 하지만, 액세스에서도 ‘보고서’에서 출력한다면 쉽게 구현이 가능합니다.

첨부된 파일을 열어보면 ‘001_rProducts_No_Number’ 라는 보고서와 ‘002_rProducts_Number’ 라는 보고서를 볼 수 있습니다. ‘001_rProducts_No_Number’ 보고서는 첫 번째 그림에 해당하는 보고서이며 ‘002_rProducts_Number’ 보고서는 두 번째 그림에 해당하는 보고서이며 ‘행 번호’가 삽입되어 있습니다.

‘002_rProducts_Number’ 보고서를 디자인 보기로 열어보면 다음과 같습니다.




여기에서 ‘번호’ 에 해당하는 텍스트 상자의 속성을 살펴보면 다음과 같습니다.




보통 텍스트 상자의 ‘컨트롤 원본’ 속성은 폼의 원본이 되는 테이블이나 쿼리의 ‘필드’가 될 것입니다. 하지만 여기에서는 이처럼 ‘계산식’을 이용하였습니다. 컨트롤 원본 속성에 ‘=1’ 이라고 표시해 놓으면 해당하는 컨트롤은 무조건 ‘1’ 이라는 숫자를 표시하게 됩니다.

하지만 여기에서 ‘누적 합계’ 속성을 ‘모두’로 해 놓으면 첫 번째 레코드에는 ‘1’이 표시되지만, 두 번째 레코드에는 이전 레코드에 1을 더한 값이 표시됩니다. 이런 식으로 1번부터 시작하는 ‘일련번호’가 보고서에서 표시될 수 있습니다.

여기서 설명한 기능은 액세스 ‘보고서’에서만 구현이 가능하며 ‘폼’에는 이러한 기능이 없습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kiwoong~

트랙백 주소 :: http://blog.teamdata21.com/trackback/92 관련글 쓰기

댓글을 달아 주세요