2014-07-10 5 views
0

아래 표현식에서 만든 날짜와 오늘 날짜의 차이를 계산하려고합니다. 그것은 30 일 이내 다음의 경우 출력이 "1", 그렇지 않으면 출력이 "0"DateDiff를 사용하여 일의 차이 계산

=IIF(DateDiff("d",(Format(CDate(Fields!Created.Value), "MM/dd/yyyy")), (Format(CDate(Today()), "MM/dd/yyyy")))<30, "1", "0") 

"생성"에서 두 값을하고 오늘() 날짜와 내가 추출하는 형식과에서는 CDate를 사용하는 시간으로 포맷 단지 날짜. 보고서를 실행하면 모든 "0"이 표시되고 올바르지 않습니다. 표현에 문제가 있습니까?

+0

표현이 잘 보인다. 30에서 3000으로 변경하고 여전히 0이 있는지 확인하거나 1을 표시합니까? –

답변

1

예 : 날짜를 가져 와서 명시 적으로 날짜로 변환 한 다음 형식을 사용하여 문자열로 변환 한 다음 암시 적으로 다시 날짜로 변환하여 날짜 비교를 수행합니다. 이점이 없으면 무거운 짐을 많이.니다. 또한 VBA 식에서 SQL 구문을 사용하고 있습니다. 결과는 정수 여야합니다.

귀하의 표현은 더 다음과 같아야합니다

=IIF(DateDiff(DateInterval.Day, Fields!Created.Value, Today) < 30, 1, 0)