If m = 0 Then '对比上一位员工
For k = 0 To 1000
If tsde1 = tsde1c Then
k = k + 1
X = Round(Rnd * 100, 0)
tsde1 = DateAdd("n", RndX(X) * -1, dtStart1)
Else
Exit For
End If
Next k
'Randomize ''2005-09-29
For k = 0 To 1000
If tsde2 = tsde2c Then
k = k + 1
X = Round(Rnd * 100, 0)
tsde2 = DateAdd("n", RndX(X) * -1, dtStart2)
Else
Exit For
End If
Next k
' Randomize ''2005-09-29
For k = 0 To 1000
If tsde3 = tsde3c Then
k = k + 1
X = Round(Rnd * 100, 0)
If dtStart3 <> "_:_" And IsDate(dtStart3) Then
tsde3 = DateAdd("n", RndX(X) * -1, dtStart3)
End If
Else
Exit For
End If
Next k
' Randomize ''2005-09-29
For k = 0 To 1000
If tede1 = tede1c Then
k = k + 1
X = Round(Rnd * 100, 0)
tede1 = DateAdd("n", RndX(X), dtEnd1)
Else
Exit For
End If
Next k
For k = 0 To 1000
If tede2 = tede2c Then
k = k + 1
' Randomize ''2005-09-29
X = Round(Rnd * 100, 0)
tede2 = DateAdd("n", RndX(X), dtEnd2)
Else
Exit For
End If
Next k
For k = 0 To 1000
If tede3 = tede3c Then
k = k + 1
' Randomize ''2005-09-29
X = Round(Rnd * 100, 0)
If dtEnd3 <> "_:_" And IsDate(dtEnd3) Then
tede3 = DateAdd("n", RndX(X), dtEnd3)
End If
Else
Exit For
End If
Next k
Else '对比上次时间
For k = 0 To 1000
If tsd1 = tsde1 Then
k = k + 1
X = Round(Rnd * 100, 0)
tsde1 = DateAdd("n", RndX(X) * -1, dtStart1)
Else
Exit For
End If
Next k
'Randomize ''2005-09-29
For k = 0 To 1000
If tsd2 = tsde2 Then
k = k + 1
X = Round(Rnd * 100, 0)
tsde2 = DateAdd("n", RndX(X) * -1, dtStart2)
Else
Exit For
End If
Next k
' Randomize ''2005-09-29
For k = 0 To 1000
If tsd3 = tsde3 Then
k = k + 1
X = Round(Rnd * 100, 0)
If dtStart3 <> "_:_" And IsDate(dtStart3) Then
tsde3 = DateAdd("n", RndX(X) * -1, dtStart3)
End If
Else
Exit For
End If
Next k
' Randomize ''2005-09-29
For k = 0 To 1000
If ted1 = tede1 Then
k = k + 1
X = Round(Rnd * 100, 0)
tede1 = DateAdd("n", RndX(X), dtEnd1)
Else
Exit For
End If
Next k
For k = 0 To 1000
If ted2 = tede2 Then
k = k + 1
' Randomize ''2005-09-29
X = Round(Rnd * 100, 0)
tede2 = DateAdd("n", RndX(X), dtEnd2)
Else
Exit For
End If
Next k
For k = 0 To 1000
If ted3 = tede3 Then
k = k + 1
' Randomize ''2005-09-29
X = Round(Rnd * 100, 0)
If dtEnd3 <> "_:_" And IsDate(dtEnd3) Then
tede3 = DateAdd("n", RndX(X), dtEnd3)
End If
Else
Exit For
End If
Next k
End If
rdTmp![LateTimes] = IIf(txtLate = "", 0, txtLate)
rdTmp![OTHour] = IIf(txtOT = "", 0, txtOT)
If Weekday(currDt) = 1 Or Weekday(currDt) = 7 Then '当为星期六和星期日时
If rdTmp.Fields("TS1") <> "" And rdTmp.Fields("TE1") <> "" Then '写入工时
rdTmp.Fields("SunHour") = 4 '08-07-03 yu |rdTmp.Fields("SunHour") = 3.5
End If
If rdTmp.Fields("TS2") <> "" And rdTmp.Fields("TE2") <> "" Then '写入工时
rdTmp.Fields("SunHour") = rdTmp.Fields("SunHour") + 4 '08-07-03 yu | rdTmp.Fields("SunHour") = rdTmp.Fields("SunHour") + 4.5
End If
If rdTmp.Fields("OThour") <> "" Then
rdTmp.Fields("SunHour") = rdTmp.Fields("SunHour") + rdTmp.Fields("OThour")
End If
Else
If rdTmp.Fields("TS1") <> "" And rdTmp.Fields("TE1") <> "" Then '写入工时
rdTmp.Fields("apHour") = 4 '08-07-03 yu | rdTmp.Fields("apHour") = 3.5
End If
If rdTmp.Fields("TS2") <> "" And rdTmp.Fields("TE2") <> "" Then '写入工时
rdTmp.Fields("apHour") = rdTmp.Fields("apHour") + 4 '08-07-03 yu | rdTmp.Fields("apHour") = rdTmp.Fields("apHour") + 4.5
End If
If rdTmp.Fields("OThour") <> "" Then
rdTmp.Fields("EveHour") = rdTmp.Fields("OThour")
End If
End If
rdTmp.Update
tsd1 = tsde1 '取第1个,时间
tsd2 = tsde2
tsd3 = tsde3
ted1 = tede1
ted2 = tede2
ted3 = tede3
If m = 0 Then
tsde1c = tsde1 '取第2个,员工
tsde2c = tsde2
tsde3c = tsde3
tede1c = tede1
tede2c = tede2
tede3c = tede3
End If
m = m + 1
Dim m As Integer
For i = 0 To rdEmp.RecordCount - 1
m = 0
sEmp = rdEmp![EmpID]
sDate = IIf(isNull(rdEmp![dateHired]), sDt, rdEmp![dateHired])
eDate = IIf(isNull(rdEmp![LCdate]), Date, rdEmp![LCdate])
SQL = "delete from tmp_Trans where EmpID='" & sEmp & "' and Date>=#" & sDt & "# and Date<=#" & eDt & "#"
gLTClockDB.Execute SQL
If sDate > eDt Then '入厂日期大于处理日期的最后一天时,不处理
GoTo Next_Emp
End If
If eDate < sDt Then '辞职日期小于处理日期的第一天时,不处理
GoTo Next_Emp
End If
SQL = "select * from tmp_Trans"
Set rdTmp = gLTClockDB.OpenRecordset(SQL)
currDt = sDt
Do While currDt <= eDt
If currDt > eDate Then
Exit Do
End If
If currDt < sDate Then '入厂日期的问题 2002-06-05
GoTo Next_Date
'Exit Do
End If