📄 form1.frm
字号:
XiaShiJian = CDate(Rstbanci.Fields(7))
KaCiShu = Rstbanci.Fields(4) '打卡次数
ChaShiJian = DateDiff("N", BanShiJian, DaKaShiJian) '前时后负
If -60 < ChaShiJian And ChaShiJian <= ChiDaoTime Then
RstShuju.Fields(6) = 0
Else
If ChaShiJian > ChiDaoTime And ChaShiJian < 30 Then
RstShuju.Fields(6) = 1
RstShuju.UpdateBatch
Set Rstkaoqin = New ADODB.Recordset
Rstkaoqin.Open "select * from qingjiatianshu where xingming='" + Ming + "'", Cnnshuju, adOpenStatic, adLockBatchOptimistic, adCmdText
Rstkaoqin!chidao = CInt(Rstkaoqin!chidao) + 1
Rstkaoqin.UpdateBatch
Else
RstShuju.Fields(6) = 2
RstShuju.UpdateBatch
End If
Exit Sub
End If
Set RstShuju = New ADODB.Recordset
RstShuju.Open "select * from dangtiandaka where xingming='" + Ming + "'and riqi='" + Riqi + "'", Cnnshuju, adOpenStatic, adLockBatchOptimistic, adCmdText
If Not RstShuju.EOF Then
'RstShuju.AddNew
If ShiDuan = 1 Or ShiDuan = 3 Or ShiDuan = 5 Then
RstShuju.Fields(4) = Shijian
RstShuju.Fields(9) = IFLate
End If
If ShiDuan = 2 Or ShiDuan = 4 Or shuiduan = 6 Then
RstShuju.Fields(6) = Shijian
RstShuju.Fields(9) = IFLate
End If
'RstShuju.UpdateBatch
Else
End If
End Sub
Public Sub AddToEndEnd()
Set Rstmain = New ADODB.Recordset
Rstmain.Open "select * from kaoqishuju where riqi='" & Riqi & "'and xingming='" + Ming + "'", Cnnmain, adOpenStatic, adLockBatchOptimistic, adCmdText
If Rstmain.EOF Then
Exit Sub
Else
CardNo = Rstmain.Fields(1)
xingming = Rstmain.Fields(2)
CheckSX = Rstmain.Fields(8)
Riqi = Rstmain.Fields(3)
cardono = Rstmain.Fields(5)
IFLate = Rstmain.Fields(6)
GongHao = Rstmain.Fields(13)
End If
If BanMing = "夜班" Then
If Shijian > "23:00:00" And Shijian < "23:59:59" Then
Riqi = Riqi + 1
End If
End If
If BanMing = "中班" Or Banhao = "0007" Then
If Shijian > "00:00:00" And Shijian < "02:00:00" Then
Riqi = Riqi - 1
End If
End If
Set Rstmain = New ADODB.Recordset
Rstmain.Open "select * from dangtiandaka where riqi='" & Riqi & "'and xingming='" + Ming + "'", Cnnmain, adOpenStatic, adLockBatchOptimistic, adCmdText
If Not Rstmain.EOF Then
If JW = "生产工人" Then
If ShiDuan = 1 Or ShiDuan = 3 Or ShiDuan = 5 Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 2 Or ShiDuan = 4 Or shuiduan = 6 Then
If IsNull(Rstmain.Fields(4)) Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = 2
Else
Rstmain.Fields(6) = Shijian
Rstmain.Fields(9) = IFLate
End If
End If
Else
If ShiDuan = 1 Then
'ShiDuan = 0
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 2 Then
If IsNull(Rstmain.Fields(4)) Then
Rstmain.Fields(9) = 2
Else
Rstmain.Fields(9) = IFLate
End If
Rstmain.Fields(6) = Shijian
End If
If ShiDuan = 3 Then
If bumen = "筹建处" Then
If IsNull(Rstmain.Fields(4)) Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = 2
End If
Else
If Banhao = "0001" And (IsNull(Rstmain.Fields(4)) Or Rstmain.Fields(4) = "") Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = IFLate
Else
Rstmain.Fields(7) = Shijian
Rstmain.Fields(9) = IFLate
End If
End If
End If
If ShiDuan = 4 Then
If Banhao <> "0001" Then
Rstmain.Fields(8) = Shijian
Rstmain.Fields(9) = IFLate
Else
If Banhao = "0001" And (IsNull(Rstmain.Fields(6)) Or Rstmain.Fields(6) = "") Then
Rstmain.Fields(6) = Shijian
Rstmain.Fields(9) = IFLate
End If
End If
End If
If ShiDuan = 5 Then
Rstmain.Fields(16) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 6 Then
Rstmain.Fields(17) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan <> 1 And ShiDuan <> 2 And ShiDuan <> 3 And ShiDuan <> 4 And ShiDuan <> 5 And ShiDuan <> 6 Then
If IsNull(Rstmain.Fields(4)) Or Rstmain.Fields(4) = "" Then
Rstmain.Fields(4) = Shijian
Else
If IsNull(Rstmain.Fields(6)) Or Rstmain.Fields(6) = "" Then
Rstmain.Fields(6) = Shijian
Else
If IsNull(Rstmain.Fields(7)) Or Rstmain.Fields(7) = "" Then
Rstmain.Fields(7) = Shijian
Else
If IsNull(Rstmain.Fields(8)) Or Rstmain.Fields(8) = "" Then
Rstmain.Fields(8) = Shijian
End If
End If
End If
End If
End If
End If
Rstmain.UpdateBatch
Shijian = 0
Else
Rstmain.AddNew
Rstmain.Fields(0) = Ming
Rstmain.Fields(1) = CardNo
Rstmain.Fields(2) = cardono
Rstmain.Fields(3) = Riqi
'If CheckShangQingJia = True Then
' Rstmain.Fields(5) = "上午请假"
'End If
'If CheckXiaQingJia = True Then
' Rstmain.Fields(5) = "下午请假"
'End If
If JW = "生产工人" Then
If ShiDuan = 1 Or ShiDuan = 3 Or ShiDuan = 5 Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 2 Or ShiDuan = 4 Or shuiduan = 6 Then
If IsNull(Rstmain.Fields(4)) Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = 2
Else
Rstmain.Fields(6) = Shijian
Rstmain.Fields(9) = IFLate
End If
End If
Else
If ShiDuan = 1 Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 2 Then
Rstmain.Fields(6) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 3 Then
'If bumen = "筹建处" Then
' Rstmain.Fields(4) = Shijian
'Else
' Rstmain.Fields(7) = Shijian
'End If
If Banhao = "0001" And (IsNull(Rstmain.Fields(4)) Or Rstmain.Fields(4) = "") Then
Rstmain.Fields(4) = Shijian
Rstmain.Fields(9) = IFLate
Else
Rstmain.Fields(7) = Shijian
Rstmain.Fields(9) = IFLate
End If
End If
If ShiDuan = 4 Then
Rstmain.Fields(8) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 5 Then
Rstmain.Fields(16) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan = 6 Then
Rstmain.Fields(17) = Shijian
Rstmain.Fields(9) = IFLate
End If
If ShiDuan <> 1 And ShiDuan <> 2 And ShiDuan <> 3 And ShiDuan <> 4 And ShiDuan <> 5 And ShiDuan <> 6 Then
If IsNull(Rstmain.Fields(4)) Or Rstmain.Fields(4) = "" Then
Rstmain.Fields(4) = Shijian
Else
If IsNull(Rstmain.Fields(6)) Or Rstmain.Fields(6) = "" Then
Rstmain.Fields(6) = Shijian
Else
If IsNull(Rstmain.Fields(7)) Or Rstmain.Fields(7) = "" Then
Rstmain.Fields(7) = Shijian
Else
If IsNull(Rstmain.Fields(8)) Or Rstmain.Fields(8) = "" Then
Rstmain.Fields(8) = Shijian
End If
End If
End If
End If
End If
End If
Rstmain.Fields(9) = IFLate
Rstmain.Fields(10) = "0"
Rstmain.Fields(11) = "1"
Rstmain.Fields(13) = GongHao
Rstmain.Fields(15) = 0
Rstmain.UpdateBatch
Shijian = 0
End If
Rstmain.UpdateBatch
End Sub
Public Function CheckCardInfo(ByVal xingming As String) As Boolean
Rstfaka.Close
Set Rstfaka = New ADODB.Recordset
Rstfaka.Open "select xingming from Cardinfo where xingming='" + xingming + "'", Cnnfaka, adOpenDynamic, adLockOptimistic, adCmdText
If Not Rstfaka.EOF Then
CheckIFNoCard = True
Else
CheckIFNoCard = False
End If
End Function
Private Function CheckShuJuIfSame(ByVal Cu As String) As Boolean
'RstShuju.Close
Set RstShuju2 = New ADODB.Recordset
RstShuju2.Open "select curr from kaoqishuju where curr='" + Cu + "'", Cnnshuju, adOpenKeyset, adLockOptimistic, adCmdText
If Not RstShuju2.EOF Then
CheckShuJuIfSame = True
Else
CheckShuJuIfSame = False
End If
End Function
Public Function CheckKQSJ(ByVal Ming As String) As Boolean '检查“KAOQISHUJU”是否有当日的打卡记录
Set RstCheck = New ADODB.Recordset
Dim DD
DD = Format(XQ, "YYYYMMDD")
RstCheck.Open "select xingming from kaoqishuju where xingming='" + Ming + "'and riqi='" + DD + "' ", Cnnmain, adOpenDynamic, adLockOptimistic, adCmdText
If Not RstCheck.EOF Then
CheckKQSJ = True
Else
CheckKQSJ = False
End If
End Function
Public Function CheckShangQingJia() As Boolean
Set RstCheck = New ADODB.Recordset
'Check.Open "select * from dangtiandaka where Cardno='" + NO + "'and riqi='" + riqi + "' and checkqingjia=1", Cnnmain, adOpenKeyset, adLockBatchOptimistic, adCmdText
'If Not RstCheck.EOF Then
'Cnnmain.Execute "DELETE FROM dangtiandaka " _
& "WHERE " _
& "cardno='" + NO + "' and " _
& "riqi='" + riqi + "' and " _
& "checkqingjia=1 " _
& " "
'CheckShangQingJia = True
'Else
'CheckShangQingJia = False
'End If
End Function
Public Function CheckXiaQingJia() As Boolean
'Set RstCheck = New ADODB.Recordset
'RstCheck.Open "select * from dangtiandaka where Cardno='" + NO + "'and riqi='" + riqi + "' and checkqingjia=2", Cnnmain, adOpenKeyset, adLockBatchOptimistic, adCmdText
'If Not RstCheck.EOF Then
' Cnnmain.Execute "DELETE FROM dangtiandaka " _
& "WHERE " _
& "cardno='" + NO + "' and " _
& "riqi='" + riqi + "' and " _
& "checkqingjia=2 " _
& " "
' CheckXiaQingJia = True
'Else
' CheckXiaQingJia = False
'End If
End Function
Private Sub CheckIfDaKa()
Dim ChaTianShu, CDXingQiJi
Set RstAdd = New ADODB.Recordset
RstAdd.Open "select max(riqi) from dangtiandaka where xingming='" + Ming + "'", Cnnshuju, adOpenStatic, adLockOptimistic, adCmdText
If Not RstAdd.EOF Then
CDXingQiJi = Format(MyDate, "yyyymmdd")
'AAA = CDate(RstAdd!Riqi)
XM = Ming
Yesterday = Format(AAA, "yyyymmdd")
ChaTianShu = DateDiff("d", Yesterday, CDXingQiJi)
If ChaTianShu = 1 Then
Exit Sub
Else
If CheckShangYiDaKa = False Then '上午没打卡
If CheckXiaYiDaKa = True Then
RstAdd.AddNew
RstAdd.Fields(0) = XM
RstAdd.Fields(3) = Yesterday
RstAdd.Fields(4) = "**"
RstAdd.Fields(6) = BB
RstAdd.Fields(9) = "2"
RstAdd.UpdateBatch
End If
End If
If CheckShangYiDaKa = True Then
If CheckXiaYiDaKa = False Then
RstAdd.AddNew
RstAdd.Fields(0) = XM
RstAdd.Fields(3) = Yesterday
RstAdd.Fields(4) = AA
RstAdd.Fields(6) = "**"
RstAdd.UpdateBatch
End If
End If
If CheckShangYiDaKa = False Then
If CheckXiaYiDaKa = False Then
RstAdd.AddNew
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -