Dim d1 As Date = e.Form.Controls("开始日期").Value
Dim d2 As Date = e.Form.Controls("结束日期").Value
Dim lst1 As New List(of Date)
Dim lst2 As New List(of Date)
For Each dr As DataRow In DataTables("法定假期").Select("日期 >= #" & d1 & "# and 日期 <= #" & d2 & "# and 名称 <> '上班'")
lst1.Add(dr("日期"))
Next
For Each dr As DataRow In DataTables("法定假期").Select("日期 >= #" & d1 & "# and 日期 <= #" & d2 & "# and 名称 = '上班'")
lst2.Add(dr("日期"))
Next
Dim TotalDays As Integer
Do While d1 <= d2
If (d1.DayOfWeek = 0 OrElse d1.DayOfWeek = 6 OrElse lst1.Contains(d1)) And lst2.Contains(d1) = False
Else
TotalDays += 1
End If
d1 = d1.AddDays(1)
Loop
e.Form.Controls("天数").value = TotalDays