Access 2007은 새로운 표현이 복잡하다는 것을 알려줍니다. 그것은 우리가 10 개의 서비스 수준을 가졌었지만 지금은 19 명이 있습니다. 큰! 나는이 질문을 SuperUser에 물었고, 누군가 내가 여기서 시험해 보라고 제안했다. 제안은 기능으로 전환하는 것입니다. 그러나 어디에서 시작해야하는지, 기능이 어떻게 보이는지는 확실하지 않습니다.식 표현 문제 : 너무 복잡하여 함수로 변환하는 방법은 무엇입니까?
내 표현은 [PriceCharged] 필드에서 우리 서비스의 비용을 확인한 다음 클라이언트가 작업 할 때 각 동료가 얼마나 많은 수익을 얻었는지 계산할 때 적절한 HOURS [Servicelevel]을 할당하는 것입니다. [EstimatedTime] 필드는 각 동료가 실제로 작업 한 시간을 저장합니다.
[EstimatedTime]/[ServiceLevel]*[PriceCharged]
아래는 내 COST를 HOURS 식으로 분석 한 것입니다. 나는 그것들을 다른 줄에 써서 읽기 쉽게 만들었습니다.이 게시물의 길이만큼 연기하지 마십시오. 결국 모든 정보가 동일합니다. 아래 권장
많은 감사, 마이크
ServiceLevel: IIf([pricecharged]=100(COST),6(HOURS),
IIf([pricecharged]=200 Or [pricecharged]=210,12.5,
IIf([pricecharged]=300,19,
IIf([pricecharged]=400 Or [pricecharged]=410,25,
IIf([pricecharged]=500,31,
IIf([pricecharged]=600,37.5,
IIf([pricecharged]=700,43,
IIf([pricecharged]=800 Or [pricecharged]=810,50,
IIf([pricecharged]=900,56,
IIf([pricecharged]=1000,62.5,
IIf([pricecharged]=1100,69,
IIf([pricecharged]=1200 Or [pricecharged]=1210,75,
IIf([pricecharged]=1300 Or [pricecharged]=1310,100,
IIf([pricecharged]=1400,125,
IIf([pricecharged]=1500,150,
IIf([pricecharged]=1600,175,
IIf([pricecharged]=1700,200,
IIf([pricecharged]=1800,225,
IIf([pricecharged]=1900,250,0)))))))))))))))))))
UPDATE (16/04/10 그리니치 표준시 14시 46분)
나는 새 테이블을 구축했습니다. 이제는 표현식을 제거하고 원래의 SELECT 쿼리에 새 테이블을 사용하는 문제입니다. 그러나, 나는 이것이 어떻게 행해지는지 전혀 분명하지 않습니다.
DLookUP 예제를 사용하여 PRICECHARGED 필드가있는 원래 쿼리를 유지하고 PRICECHARGED를 참조하고 해당 SERVICELEVEL (시간)을 사용하여 행을 채우는 아래의 예제를 사용하는 새로운 DLookUp 필드를 포함하는 것이 상상됩니다.
원본 SELECT 쿼리에서 모든 계산이 해당 쿼리 (표현식, 표현식 후)에서 발생했기 때문에 최종 쿼리 결과가 HOURS 및 REVENUE가있는 동료 목록 이었기 때문에 혼란스러워졌습니다. 비용). DlookUp 프로세스를 관리하기 위해 중간에 다른 쿼리가 필요하다는 느낌이 들었습니다.
`모든 길 찾기 나지도를 매우 높이 평가합니다.
최종 업데이트. 위에서 언급 한 다른 테이블을 추가하여 새 테이블에서 '고정'테이블의 필드로 적절한 링크를 생성했습니다. Voila. 그것은 매력을 작동 시켰고, 아무 것도하지 않고 충돌을 일으키거나 오류 경고를 내게했습니다. 내가 생각했던 것보다 쉬웠다. 왜 내가 전에 이런 식으로 관리하지 않았는지 나는 이해하지 못한다.
다시 한 번 감사드립니다, 마이크
@Mike @ 테이블 구조와 쿼리를 게시하십시오. 우리는 당신을 더 잘 도울 수 있습니다. –