因我的表中有多列,例如:“年出差统计_2014”、“年出差统计_2015”、“年出差统计_2016”、“年出差统计_2017”、“年出差统计_2018”........,如每一列都复制修改代码,感觉太繁琐了。
想自动修改case后面代码的年份,和第3行代码中的年份。
请老师帮忙看看有没有好的方法。谢谢!
1 Select Case e.DataCol.Name
2 Case "年出差统计_2014"
3 Dim y As Integer =2014
4 Dim ys As Date = New Date(y,1,1)
5 Dim yd As Date = New Date(y,12,31)
Dim drs As List(Of DataRow)
Dim days As timespan
If e.DataRow("目的国入境_日期")>= ys And e.DataRow("目的国入境_日期")<= yd Then
If e.DataRow("离境_日期")<=yd Then
days=cdate(e.DataRow("离境_日期"))-cdate(e.DataRow("目的国入境_日期"))
Else
days=cdate(yd)-cdate(e.DataRow("目的国入境_日期"))
End If
e.DataRow(e.DataCol.name)=math.round(days.Totaldays+1,0)
End If
If e.DataRow("目的国入境_日期")< ys And e.DataRow("离境_日期")>= ys And e.DataRow("离境_日期")<= yd Then
days=cdate(e.DataRow("离境_日期"))-cdate(ys)
e.DataRow(e.DataCol.name)=math.round(days.Totaldays+1,0)
End If
End Select