⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 用microsoft vb6.0写的上班考勤系统!
💻 FRM
📖 第 1 页 / 共 5 页
字号:
    
    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 + -