배움터  
  HOME > 배움터 > 무료강좌
무료강좌
 
액세스 연재 강좌 - 자재관리 프로젝트 , Access

● 재고 관리

지금까지는 자재관리프로그램내에서 설명을 하였고, 지금부터 재고관리에 대한 설명을 하고자 합니다.
쿼리를 이용하여 보고서의 내역을 작성하던가, 폼에서 검색이 가능토록 연속폼을 만들어 보도록 합시다.

이와 관련하여 과정별 즉 입고&도장, 도장&완성 등과 같이 INPUT-OUTPUT간의 일계, 월계, 누계를 작성한다면 어떤 방법을 사용하는 것이 좋은가를 생각해 보기로 합시다.

1. 별도 추가코드테이블을 작성한 후 LOOP를 돌려 항상 값이 신규정보처리가 되도록 작성
2. SQL문을 통하여 작성(INSERT, UPDATE, DELETE, UNION)
3. 폼에서 검색리스트박스를 이용하여 LOOP를 통한 폼 상태에서 입력
4. 등등
많은 방법이 있습니다.

여기서는 VBA를 사용하지 않고, 재고관리에 대한 쿼리문으로 해결될 수 있음을 제시하고자 합니다. 이와 유사한 방법을 설명한 ACCESS 책은 없는 것으로 알고 있습니다.

응용범위는 자재, 공정, 영업, 매출매입, 자금 관리등 모든 INPUT-OUTPUT 부문에 적용이 가능하다고 볼 수 있습니다.

먼저 '평가'라는 폼을 하나 만들어 봅시다.

기준일필드, 월계필드, 누계필드를 만드는 경우 기준일필드에 AFTERUPDATE 이벤트를 사용하여 누계, 월계가 표시되도록 작성하여 봅시다.
년도 및 월도를 작성하기 위해선 DateSerial를 참조하여 작성해 봅시다.

하단의 폼은 총괄재고 현황을 보여주는 것입니다.

07-01.gif(55666바이트)

※ 주의 : 쿼리의 조건문에 폼의 기준일을 근거로 하여 월계기준일 및 누계기준일 만들어 삽입해도 되지만, 가능하면 검색 폼에서 작성하여 연결하는 것이 에러 발생 확률을 낮추는 일입니다.
(한번 시도해 보시기를….)


그럼 쿼리를 재고누계, 월계, 일계, 총괄 4개의 쿼리를 각각 작성하십시오.

07-03.gif(70869바이트)


먼저 한가지 예로 월계 쿼리의 조건문은 다음과 같이 작성합니다.

품목코드 및 품목명을 그룹으로 형성하여 발행일을 조건식 그리고 보고서의 식, 즉 하단의 내역과 같이 누계입고수량, 누계입고금액, 누계출고수량등등 각 단계별 과정에 대한 쿼리문 식을 만들어 주면 됩니다.

여기서 중요한 것은 정확한 함수 식을 작성하여 필드를 추가하여 만들어 주어야 합니다.
즉, 질의 분석 보고서의 내용 필드를 참조하여 작성하시면 됩니다.

[예]

< 식 >
- Sum(IIF([전표구분]=1,[수량],0) : 발행일이 <=[Forms]![보고서]![B]의 조건에 해당하고 전표구분이 1(입고전표)에 해당하는 값을 모두 합계처리를 합니다.

- Sum(IIF([전표구분]=2,[수량],0) : 발행일이 <=[Forms]![보고서]![B]의 조건에 해당하고 전표구분이 2(공정전표)에 해당하는 값을 모두 합계처리를 합니다.


07-04.gif(57865바이트)

상단의 그림에서 발행일 조건식에서 현재기준일 이전을 누계로 생각해도 됩니다.

07-05.gif(78783바이트)

재고일계, 재고월계, 재고누계를 한 쿼리에 추가 시켜 재고총괄이라는 쿼리를 만들면 됩니다.
여기서 중요한 것은 화살표방향과 같이 재고누계를 기준으로 조인속성2번으로 설정된 것입니다. 


- 1번으로 설정한다면, 
일부 품목코드만 보일 것입니다.

- 3번으로 설정한다면,
현재기준일의 재고분석만 될 것입니다.

-> 이와 관련하여 한번 설정하시고 DATA의 결과값을 확인하시기 바랍니다.

따라서 누계의 경우 현재부터 과거의 모든 품목정보를 포함하여 보여주고 있다. 따라서 재고는 전체품목을 통하여 분석 필요성에 의해 누계를 기준으로(2번) 월계 및 일계를 연결하였습니다.

만약에 한달 동안 발생된 품목에 대하여 입출고 재고 및 판매금액을 알고 싶다면 월계를 기준으로 조인 설정하여 보면 됩니다.


- TEST 결과
현재 테이블의 구조로 
47만개의 자재전표 즉 레코드를 입력하여 분석한 바, 10초내에 모든 결과를 산출
127만개 레코드 경우, 23초내에 
총15개에 대한 과정별 일계,월계,누계 즉 24개의 필드, 즉 재고 수량 및 금액을 계산되었습니다.[현재 테이블 기준으로 측정]


▶ 결론

정확하게 어느것이 정답이고, 어느것은 오답이라고 하기가 어렵습니다. 지금까지 자재관리 프로젝트에 대한 본인이 생각하는 바를 두서 없이 작성하였습니다.
프로그램에 대한 설명보다 업무 프로세스에 초점을 맞추어 설명하다 보니, 기대이상의 효과를 얻지 못한 점이 분명히 있을 것으로 알고 있습니다.

예를 들어, 왜 관계설정을 이런 방식으로 작성하였는지, 또는 검색폼을 listbox를 이용하였는지,
등등 많은 질문이 있을 것입니다.

보통 ACCESS에서 매크로 기능을 이용한다면 일반프로그램을 개발할 수 있으며, 약간 부족한 부문 30% 때문에 VBA를 사용하고 있습니다. 
자신이 VBA 30%부문 부족으로 포기하지 마시고, 매크로기능 70%를 알면 프로그램을 개발할 수 있다는 생각으로 단계별로 공부를 하시는 것이 도움이 되리라 생각합니다. 

그리고 프로그램의 중요성에 대하여 말하자면 업무 프로세스 70%, 프로그램이 30% 차지하고 있습니다. 즉, 자신의 업무 프로세스를 정확히 평가 분석할 수 있다면 프로그램 개발은 어렵지 않을 것입니다.
자신의 업무 프로세스를 유사업종과 비교, 연구, 분석하여 개발하기 바랍니다.

목차 | 이전