2016-08-07 1 views
0

우리 회사의 MS Access (지금은 다른 옵션 없음)에주기 계산 앱을 구축 중입니다.액세스 할 때 값을 행에 분산시키는 방법

전제는 부품이 어디에 있는지와 수량을 나타내는 라인이 있다는 것입니다. 동일한 파트는 날짜별로 구분되기 때문에 여러 번 복제 될 수 있습니다. 작업자에게 전체 항목 수를 입력하고 시스템에 입력 한 다음 시스템이 첫 번째 항목부터 시작하여 날짜순으로 줄을 긋고 가능하면 다음 줄로 나머지 항목을 줄 것입니다.)

예를 들어 원하는 출력은 표 3입니다. 초기 값이 최대가 될 때까지 카운트를 얻은 다음 나머지가 있으면 다음 행으로 이동하는 방식에 유의하십시오.

표 1 : 항목 재고

| Part  | Date entered| expected quantity| 
|:-----------|------------:|:------------:| 
| x   |  9  | 1 
| x   |  10  | 3 
| x   |  11  | 2 
| y   |  9  | 1 
| y   |  10  | 3 
| y   |  11  | 1 
| z   |  12  | 1 
| z   |  13  | 1 
| z   |  14  | 1 

표 2 : 직원에 의한 항목 수

| Part  | Counted  | expected quantity by item| 
|:-----------|------------:|:------------------------:| 
| x   |  3  | 5 
| y   |  5  | 4 
| z   |  1  | 2 

표 3 : 카운트

내가 두 번째를 생성하는 방법을 알고
| Part  | Date entered| expected quantity| Count| Variance 
|:-----------|------------:|:----------------:|------|---------| 
| x   |  9  | 1    | 1 |0 
| x   |  10  | 3    | 3 |0  
| x   |  11  | 2    | 1 |1 
| y   |  9  | 1    | 1 |0 
| y   |  10  | 3    | 3 |0 
| y   |  11  | 1    | 0 |1 
| z   |  12  | 1    | 1 |0 
| z   |  13  | 1    | 0 |1 
| z   |  14  | 1    | 0 |1 

와 항목 재고 테이블 및 입력을하지만 이전 행을 반복하여 세 번째 공동에서 카운트를 생성하는 방법을 모릅니다. 열.

바람직하게는 쿼리를 통해 이루어집니다.

+0

'예상되는 양을 항목 수'로 얻었습니까? '[물품 목록]'? – dbmitch

+0

그것은 그것이 시스템이보고하고있는 것입니다. 거기에 정신적으로 어떤 것이 아닙니다. – Tyberius

+0

레코드 세트로 VBA로 코딩 한 적이 있습니까? 시도한 예제 루프 또는 쿼리가 있습니까? – dbmitch

답변

0
SELECT [Item inventory].Part, [Item inventory].[Date entered], [Item inventory].[Expected quantity], [Item count by employee].Counted, (select sum([expected quantity]) from [item inventory] T where t.part=[item inventory].part and t.[date entered]<=[item inventory].[date entered])-[expected quantity] AS [Prior], IIf([prior]>[counted],0,IIf([expected quantity]<[counted]-[prior],[expected quantity],[counted]-[prior])) AS [Current], [current]-[expected quantity] AS Variance 
FROM [Item inventory] INNER JOIN [Item count by employee] ON [Item inventory].Part = [Item count by employee].Part 
ORDER BY [Item inventory].Part, [Item inventory].[Date entered]; 

이것은 당신이, 내가 생각을 요구 것을 제공합니다 -하지만 몇 가지 더 코멘트 :

  • 내가 부품 X에 대한 당신이 6 예상 이후 표 3은 잘못된 것 같아요 3 계산 만 이 분산은 1의 차이를 보였습니다
  • 계산 된 총계가 예상 횟수보다 많을 경우이 쿼리는 차이를 표시하지 않습니다. 순환 수에 대해 알아야 할 수도 있습니다.
  • 내 호기심 때문입니다. 실제 카운트를 날짜에 할당 하시겠습니까? 주기 수를 계산했을 때, 그것은 단지 합계와 분산 일뿐입니다.
+0

고맙습니다. 지금까지 얻은 것 중 가장 좋은 것이기 때문에 답을 표시하게되어 기쁩니다.하지만 더 큰 경우 차이를 얻을 수있는 방법을 찾아야 할 것입니다. 또한 사이클 수에 대한 귀하의 의견은 맞지만 우리가 보유한 ERP는 FIFO로 인해 날짜별로 구분 된주기 명령을 생성합니다. 다른 품목으로받은 각 품목을 다른 품목으로 취급합니다. 이상적이지 않습니다. – Tyberius

+0

간단한 두 번째 쿼리는 실제 개수가 예상보다 많은 부분에 플래그를 지정해야합니다. –

관련 문제