배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Access 버전:   2003
검색어:   매개변수, 쿼리
제목:   매개변수를 이용한 유연한 쿼리 만들기
     
 

 

[Access] 매개변수를 이용한 유연한 쿼리 만들기

  오늘은 12월5일(화)에 진행하는 염기웅님 Access 실무활용 과정 중에서 매개변수를 이용한 유연한 쿼리 만드는 방법에 대해 소개해드리도록 하겠습니다. (사용버전: 2003)

  액세스에서 쿼리를 이용하면 우리가 원하는 데이터를 쉽게 조작하여 볼 수 있습니다. 오늘은 이러한 조작에 융통성을 부여하는 작업을 알아보도록 하겠습니다. 예제 파일을 다운로드 받아 열기합니다.

http://www.officetutor.co.kr/newsletter_2006/sample/sample_061127.zip

  예제 파일에서 ‘q001_1996년 실적’ 이라는 이름의 쿼리를 디자인 보기로 열면 다음과 같습니다.

  고객별 실적을 계산하는 쿼리이며, 날짜 조건에 ‘BETWEEN A AND B’ 구문을 이용하여 1996년 실적만을 추출하도록 디자인 하였습니다.
  1997년 실적을 보고 싶을 때는 어떻게 할까요? 해당 쿼리를 열어서 1996이라고 표시된 것을 1997로 변경시켜주면 되겠지요? 필요하다면 쿼리를 다른 이름으로 저장하면 됩니다. 다음 그림은 이 쿼리를 부분적으로 수정하여 1997년 실적으로 저장한 내용입니다.

  이 정도만 활용하여도 엑셀에서의 데이터 처리보다 한결 편하게 이용할 수 있습니다. 엑셀에서 자동 필터를 이용하면 데이터를 유연하게 찾을 수 있지만, 다른 조건을 찾았다가 다시 원래 조건으로 돌아오는 것이 꽤나 번거로웠을 것입니다. 하지만 액세스를 이용하면 이처럼 ‘조건을 저장’하여 데이터를 불러오는 규칙을 저장할 수 있어 편리합니다.

 다음은 별도로 저장된 쿼리에 의한 데이터 결과값입니다. 1996년과 1997년의 ‘원창㈜’의 실적이 다름을 알 수 있습니다.

  하지만 매 년 이러한 조건을 변경하여 저장하는 것이 과연 좋은 방법일까요? 혹시 분기별로 실적을 보고 싶다면 어떻게 해야 할까요? 혹시 월별로 실적을 보고 싶다면? 수없이 많이 저장된 쿼리에서 어떤 하나를 찾아내는 작업이 오히려 어려워지지 않을까 합니다. 그래서 오늘 공부할 내용인 ‘매개변수 쿼리’를 이용하여 이러한 쿼리 활용에 융통성을 부여해 보도록 하겠습니다.

‘매개변수 쿼리’를 이용하는 것은 아주 쉽습니다. ‘조건’에 해당하는 곳을 다음 그림과 같이 매개변수로 대치하면 됩니다.

 매개변수로 대치할 때는 다음의 규칙을 따라야 합니다.

  • 매개변수명을 대괄호([])로 둘러싸 줍니다.

  • 매개변수명은 한글, 영문, 숫자를 비롯한 대부분의 특수문자를 허용하지만 ‘_’를 제외한 특수문자는 이용하지 않는 것이 좋습니다.

  • 매개변수명은 해당 쿼리에 등록된 필드명과 달라야 합니다. (앞의 그림에서 [UnitPrice] 라고 매개변수명을 할당하면 이것은 매개변수로 동작하는 것이 아니고, 필드 값을 가져오는 결과를 나타냅니다.)

  • 따라서, 매개변수명에 접두어 ‘prm’을 붙여 [prmUnitPrice] 와 같이 이용하는 것이 좋습니다.

  이렇게 매개변수화 된 쿼리를 실행하면 쿼리 실행 시점에 다음 그림과 같이 매개변수 값을 물어옵니다. 여기에서는 [시작일] 과 [종료일]을 물어오겠죠? (데이터베이스 창에서 ‘q003_고객별 판매 실적_날짜조건’ 이라는 이름의 쿼리를 실행해 보기 바랍니다.)

  이에 대한 쿼리 결과값입니다.

  쿼리를 닫고 다시 시작합니다. 시작일을 1997-1-1, 종료일을 1997-12-31로 하게 되면 다음과 같은 결과를 얻습니다.

  매개변수 쿼리가 가지는 가장 큰 장점은 데이터를 추출할 때 ‘정형화’ 할 수 있다는 점입니다. 우리가 1996년 실적, 1997년 실적 등으로 저장한 것이 아니고, 데이터의 형태에 따라 ‘고객별 판매 실적’이라는 이름으로 쿼리를 저장할 수 있다는 것 자체가 많은 융통성을 발휘하게 해 주는 것이지요.
매개변수 쿼리를 잘 활용하면 여러분의 업무에서 자주 조회하는 데이터를 정형화 하여 쉽게 볼 수 있게 됩니다.

  마지막으로 응용 예를 한 번 살펴보겠습니다. 우리가 만든 ‘q003_고객별 판매 실적_날짜조건’ 쿼리를 바탕으로 하여 차트를 만들었습니다. (폼: f003_고객별 판매 실적_날짜조건)

  데이터베이스 창에서 이 폼을 실행하면 우선 매개변수 쿼리가 동작하여 시작일과 종료일을 물어옵니다. 적당한 날짜를 입력하면 다음 그림과 같이 멋진 차트가 보여집니다. 이 그림은 1996년 데이터를 조회한 것입니다.

  폼을 닫고 다시 열어, 1997년 데이터를 조회하면 다음과 같습니다.

  이처럼 매개변수 쿼리를 이용하게 되면 ‘데이터 추출’ 작업을 보다 손쉽고, 정형화 할 수 있는 장점이 있습니다. 다음 데일리 팁에서는 매개변수 쿼리에서 한 발 앞서 나간 ‘대화상자를 이용한 정형화’에 대해서 알아보겠습니다.