2014-12-01 3 views
1

Access 2010을 처음 사용하고 있으며 휴일 제외하고 주말 근무 시간을 확보해야합니다. 나는 인터넷에 나타나는 근무일에 표준 VB 코드를 사용할 수 있었으며 간단한 월요일 - 금요일 또는 월요일 - 토요일 계산에 적합합니다. 내 질문은 금요일, 토요일 및 일요일이 모두 1 일로 계산되는 경우 일수를 계산하려면이 코드를 어떻게 조작 할 수 있습니까?Access 2010 근무일 수 계산

예 : 화요일 11/25/14부터 오늘까지의 일 수를 계산하십시오.

  1. - 오늘 날짜 = 2014 년 12 월 1 일 월요일;
    - 월요일, 2014 년 12 월 1 일 = 0;
    - 2014 년 11 월 30 일 일요일 = 3;
    - 2014 년 11 월 29 일 자정 = 3;
    -Friday, 2014 년 11 월 28 일 = 3;
    - 목요일, 2014 년 11 월 27 일 (휴일) = 2;
    -Wedesday, 2014 년 11 월 26 일 = 2; 당신은 당신이 정말로 사용해야합니다 법정 공휴일을 설명해야하는 경우
    -Tuesday 년 11 월 25 일 = 1

2014 그래서 위의 예에서, 일의 수는 3

+1

캘린더 테이블을 고려 했습니까? 그들은 매우 유용합니다. – Fionnuala

+0

사용중인 코드를 공유하지 않았기 때문에 정확한 대답은 어려울 것입니다. 검색에서 얼마나 많은 '금요일'이 날짜 범위에 있는지를 알려주는 코드를 발견했을 것입니다. 왜 월부터 금요일까지 (또는 토요일/일요일) 마이너스 일입니까? –

답변

0

것 어떤 종류의 테이블. 문제에 대한 순수 알고리즘 접근 방법이 될 수있는 고정 된 날짜에 가을

  1. 휴일이 다른 날짜에을 관찰 주로 있기 때문에, 실패로 관리하기 어려운 경향이있다. 예를 들어 크리스마스가 토요일에 쓰러지면 직원들이 금요일에 쉬는 날이 올 것입니다.
  2. 일부 휴일 날짜는 계산하기가 어렵습니다. 특히, Good Friday은 "봄철 춘분 이후 첫번째 보름달이 지난 첫 번째 일요일 전 금요일"(적어도 여기서는 캐나다)으로 정의됩니다.

    theDate  dayOff comment   
    ---------- ------ ---------------- 
    2014-11-21 False     
    2014-11-22 True Saturday   
    2014-11-23 True Sunday   
    2014-11-24 False     
    2014-11-25 False     
    2014-11-26 False     
    2014-11-27 True Thanksgiving Day 
    2014-11-28 False     
    2014-11-29 True Saturday   
    2014-11-30 True Sunday   
    2014-12-01 False     
    2014-12-02 False     
    

    2014년 11월 25일 및 2014년 11월 30일 (포함) 사이에 작업 일 수를 계산합니다 : 가장 단순한 형태에서

의 [DatesTable이 같은 것을 볼 수 있었다 간단히

SELECT COUNT(*) AS WorkDays 
FROM DatesTable 
WHERE theDate Between #2014-11-25# And #2014-11-30# 
    AND dayOff=False;