效果:计算员工当天的累计工时(工时列为整数,累计工时列为时间日期)。
问题:运行到加背景色代码时,出现错误提示。请各位老师指教,谢谢!!
For Each dr As DataRow In DataTables("C").DataRows
Dim N,N2,h,h2,m,m2,s,s2 As Integer
Dim gs As Date
Dim mr As DataRow = dr
Dim drs As List(of DataRow)
If dr.IsNull("累计工时") Then
dr = DataTables("C").Find("[序号] < " & mr("序号") & " And [员工] = '" & mr("员工") & "'And [日期] = '" & mr("日期") & "'", "[序号] Desc") '找出上一行
If dr Is Nothing Then '如果没有找到上一行,说明本行就是第一行
N = mr("工时")
h = N \ 3600
m = (N Mod 3600) \ 60
s = N Mod 60
mr("累计工时") = Format(new Date(1,1,1,h,m,s), "HH:mm:ss")
dr = mr
End If
drs = DataTables("C").Select("[序号] >= " & dr("序号") & " And [员工] = '" & dr("员工") & "'And [日期] = '" & mr("日期") & "'", "[序号]")
For j As Integer = 1 To drs.Count - 1 '重算余下行的余额
N2 = drs(j)("工时") '数据类型为整数,转换为日期时间类型
h2 = N2 \ 3600
m2 = (N2 Mod 3600) \ 60
s2 = N2 Mod 60
gs = Format(new Date(1,1,1,h2,m2,s2), "HH:mm:ss")
Dim t As TimeSpan = drs(j-1)("累计工时") + gs
drs(j)("累计工时") = (Format(t.Hours,"00") & ":" & Format(t.Minutes,"00") & ":" & Format(t.Seconds,"00"))
Next
End If
Next

此主题相关图片如下:捕获3.jpg

[此贴子已经被作者于2014-9-25 22:10:10编辑过]