'迟到早退---------
str = "select In_Out,Io_Time from Attendance where Io_Date between #"
str = str & sTime & "# and #" & eTime & "# and Person='" & rsID(0) & "'"
Set rs = GetRS(str)
str = "select * from WorkTime"
Set rsWorkTime = GetRS(str)
earlyTimes = 0
lateTimes = 0
While Not rs.EOF
If DateDiff("h", rs(1), #12:00:00 PM#) >= 0 Then
If rs(0) = 2 And DateDiff("s", rs(1), rsWorkTime("StartTimeAM")) < 0 Then
lateTimes = lateTimes + 1
End If
If rs(0) = 1 And DateDiff("s", rs(1), rsWorkTime("EndTimeAM")) > 0 Then
earlyTimes = earlyTimes + 1
End If
Else
If rs(0) = 2 And DateDiff("s", rs(1), rsWorkTime("StartTimePM")) < 0 Then
lateTimes = lateTimes + 1
End If
If rs(0) = 1 And DateDiff("s", rs(1), rsWorkTime("EndTimePM")) > 0 Then
earlyTimes = earlyTimes + 1
End If
End If
rs.MoveNext
Wend
rs.Close
'旷工记录---------
str = "select * from Attendance where Io_Time > #" & rsWorkTime("EndTimePM") & "# and "
str = str & "Person='" & rsID(0) & "'"
Set rs = GetRS(str)
absentTimes = 0
While Not rs.EOF
absentTimes = absentTimes + 1
rs.MoveNext
Wend
rs.Close
'-----------------
'-----------------
'添加记录---------
str = "insert into Attendance_State (Year_Month,Person,Work_Hour,Over_Hour,Leave_Hday,"
str = str & "Errand_Hday,Late_Times,Early_Times,Absent_Times) values( '"
str = str & Me.Year_Month & "','" & rsID(0) & "', 8," & workhours & ","
str = str & lTimes * 2 & "," & overday * 2 & "," & lateTimes & "," & earlyTimes & ","
str = str & absentTimes & ")"
ExecuteSQL (str)
'-----------------
rsID.MoveNext
Wend
End If
DoCmd.OpenForm ("FrmSumResult")
Me.Visible = False
End If
End Sub
我要象这个例子中的方式.,例子中英文太多,而且名称好多相同,多看不懂
点击下载此附件
是那个例子中 统计结果 窗体代码
只要认真的看添加记录这儿就行了
总记录:10篇 页次:1/1 9 1 :