2012-07-19 5 views
2

아래의 표현식을 사용하여 2 개의 날짜의 차이를 비교합니다. 두 날짜가 셀에 있으면 0을 반환하고 싶지만 Date2가 비어 있으면 차이가 나타납니다. 지금 date2에 날짜가 없으면 #ERROR를 얻습니다. 어떤 아이디어라도 대단히 감사하겠습니다.값이 비어 있으면 QRY가 오류를 반환합니까?

expr2: NetWorkDays([Date1],[Date2]) 

Option Compare Database 

Public Function NetWorkdays(dteStart As Date, dteEnd As Date) As Integer 

Dim intGrossDays As Integer 
Dim dteCurrDate As Date 
Dim i As Integer 

intGrossDays = DateDiff("d", dteStart, dteEnd) 
NetWorkdays = 0 

For i = 0 To intGrossDays 
dteCurrDate = dteStart + i 
If Weekday(dteCurrDate, vbMonday) < 6 Then 
End If 
Next i 

End Function 
+0

을 NETWORKDAYS = 0' – talbright

+0

때로는 필드는 비어 그래서 나는 알 필요가 있다면 첫 번째 필드 날짜가 입력 된 후 얼마나 비워 있었습니까? – user1342164

+0

함수를 호출하는 코드를 게시 할 수 있습니까? – talbright

답변

1

당신이 함수의 NetWorkdays = 0를 제거하지 않을 경우 함수는 항상 0을 반환하고, 문 같은 경우가있는 함수를 호출 할 위치를 바꿈되지 않는 경우이 오류가 발생 할 것 이 :

If Not IsNull(Date2) Then 
txtResult = NetWorkdays(Date1, Date2) 
Else 
txtResult = 0 
End If 

txtResult은 당신이 당신의 결과를 표시 할 텍스트 상자되는

이 링크 http://msdn.microsoft.com/en-us/library/bb258196(v=office.12).aspx보고 할 수 있습니다.. 이 함수는 두 날짜 사이의 근무일 수를 계산하기위한 액세스 용으로 설계된 함수입니다. 당신이이 같은 결과를 수행하려는 취득해야이 기능을 사용

: 당신이 '와 함께 할 의도 무엇

If Not IsNull(Date2) Then 
txtResult = 0 
Else 
txtResult = Work_Days(Date1, Now()) 
End If 
+0

여전히 확실하지 않습니다 #ERROR – user1342164

+0

감사합니다. date1과 Now()/Today (오늘)의 차이점을 확인하려고합니다. 비었다. date2에 날짜가 있으면 0이 출력됩니다. – user1342164

+0

제공된 링크에서 해당 기능을 사용한다고 가정 할 때 계정에 대한 내 대답을 조정하겠습니다. – talbright

관련 문제