做一个按钮,执行代码
Dim dt1 As DataTable = DataTables("年出差天数统计")
Dim dt2 As DataTable = DataTables("出差信息登记表")
dt1.DataRows.Clear
For Each xm As String In dt2.GetValues("姓名")
Dim ndr As DataRow = dt1.AddNew
Dim drs = dt2.Select("姓名 = '" & xm & "'")
For Each dc As DataCol In dt1.DataCols
If dc.name.StartsWith("年度_") Then
Dim sum As Double = 0
For Each dr As DataRow In drs
Dim d1 As Date = dr("出差起始日期")
Dim d2 As Date = dr("出差结束日期")
Dim y As Integer = dc.name.Replace("年度_", "")
If y >= d1.Year AndAlso y <= d2.Year Then
If d1.year = d2.year Then
sum += (d2-d1).TotalDays
ElseIf y = d1.year Then
Dim d As Date = new Date(y+1, 1, 1)
sum += (d-d1).TotalDays - 1
ElseIf y = d2.year Then
Dim d As Date = new Date(y, 1, 1)
sum += (d2-d).TotalDays + 1
Else
Dim d As Date = new Date(y, 1, 1)
Dim d3 As Date = d.AddYears(1)
sum += (d3-d).TotalDays + 1
End If
End If
Next
ndr(dc.name) = sum
End If
Next
ndr("姓名") = xm
Next