請幫我確定我做錯了什麼。我突出顯示了「週末日=週末日+ 1」部分的溢出錯誤。此代碼的目的是計算2個日期範圍內的星期二,星期四,星期六和星期日的數量。爲什麼我得到溢出錯誤????? VBA/ACCESS
'//////This is for Valley Estimate of Demurrage Days/////////////
Public Function ModWeekdays(ByRef NotificationDate As Date, ByRef OrderDate As Date, ByRef PlacementDate As Date, ByRef ReleaseDate As Date) As Integer
Dim skips As Integer
Dim WeekendDays As Integer
Dim WeekendDays2 As Integer
'skips = 0
WeekendDays = 0
WeekendDays2 = 0
Do
If DatePart("w", NotificationDate) = 0 Then
WeekendDays = WeekendDays + 1
ElseIf DatePart("w", NotificationDate) = 2 Then
WeekendDays = WeekendDays + 1
ElseIf DatePart("w", NotificationDate) = 4 Then
WeekendDays = WeekendDays + 1
ElseIf DatePart("w", NotificationDate) = 6 Then
WeekendDays = WeekendDays + 1
End If
Loop Until NotificationDate = OrderDate
Do
If DatePart("w", PlacementDate) = 0 Then
WeekendDays2 = WeekendDays2 + 1
ElseIf DatePart("w", PlacementDate) = 2 Then
WeekendDays2 = WeekendDays2 + 1
ElseIf DatePart("w", PlacementDate) = 4 Then
WeekendDays2 = WeekendDays2 + 1
ElseIf DatePart("w", PlacementDate) = 6 Then
WeekendDays2 = WeekendDays + 1
End If
Loop Until PlacementDate = ReleaseDate
skips = WeekendDays + WeekendDays2
skips = ModWeekdays(NotificationDate, OrderDate, PlacementDate, ReleaseDate)
End Function
你的循環似乎是無限的,因爲你從來沒有修改'NotificationDate'。在上面的代碼中,它永遠不會等於'OrderDate'(除非它們碰巧已經是相同的)。 –
您不改變'NotificationDate = OrderDate'中的任何一個,以便循環永遠運行,遞增一個整數直到溢出? –
我怎麼忘了....謝謝 – NavyNuke