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

📄 form1.frm

📁 用microsoft vb6.0写的上班考勤系统!
💻 FRM
📖 第 1 页 / 共 5 页
字号:
    'If IfFour = True Then
    '  BanShiJian = CDate(Rstbanci.Fields(9))
    'End If
    
    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
             If ShiDuan = 2 Or ShiDuan = 4 Or ShiDuan = 6 Then
                RstShuju.Fields(6) = 2
             Else
                RstShuju.Fields(6) = 1
             End If
             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
          
          'Set Rstkaoqin = New ADODB.Recordset
             'Rstkaoqin.Open "select * from qingjiatianshu where xingming='" + Ming + "'", Cnnshuju, adOpenStatic, adLockBatchOptimistic, adCmdText
             'CC = Rstkaoqin!chidao
             'DD = CC + 1
             'Rstkaoqin!chidao = DD
             'Rstkaoqin.UpdateBatch
      
           Exit Sub
        End If
   
  End If
  
  '判断下班是否准时
  Set RstShuju1 = New ADODB.Recordset
  RstShuju1.Open "select * from kaoqishuju where xingming='" + Ming + "'and ifsxban=2 and riqi='" + Riqi + "'and checkqingjia=0 and shijian='" + Shijian + "'", Cnnshuju, adOpenStatic, adLockOptimistic, adCmdText
  If Not RstShuju1.EOF Then
    
     Banhao = Trim(RstShuju1.Fields(9))
     BanMingC = Trim(RstShuju1.Fields(10))
     DaKaShiJian = CDate(RstShuju1.Fields(4))
  
      Rstbanci.Close
      Set Rstbanci = New ADODB.Recordset
      Rstbanci.Open "select * from ban where banhao='" + Banhao + "'and banming='" + BanMingC + "' ", CnnBanci, adOpenKeyset, adLockOptimistic, adCmdText
      'BanShiJian = CDate(Rstbanci.Fields(7))
      If ShiDuan = 1 Then
        BanShiJian = CDate(Rstbanci.Fields(5))
      End If
      If ShiDuan = 2 Then
          BanShiJian = CDate(Rstbanci.Fields(7))
      End If
      If ShiDuan = 3 Then
         BanShiJian = CDate(Rstbanci.Fields(9))
      End If
      If ShiDuan = 4 Then
        BanShiJian = CDate(Rstbanci.Fields(11))
      End If
      If ShiDuan = 5 Then
        BanShiJian = CDate(Rstbanci.Fields(13))
      End If
      If ShiDuan = 6 Then
        BanShiJian = CDate(Rstbanci.Fields(15))
      End If
      
      If BanShiJian = "" Then
        RstShuju1.Fields(6) = 2
        RstShuju1.Update
        Exit Sub
      End If
      
      'If IfFour = True Then
      '  BanShiJian = CDate(Rstbanci.Fields(11))
      'End If
      
      ChaShiJian = DateDiff("N", BanShiJian, DaKaShiJian)
      If CInt(-ChiDaoTime) <= ChaShiJian And ChaShiJian < JiaBanTime Then
        RstShuju1.Fields(6) = 0
      Else
        If ChaShiJian > ChiDaoTime And ChaShiJian < 30 Then
           RstShuju1.Fields(6) = 1
           Set Rstkaoqin = New ADODB.Recordset
           Rstkaoqin.Open "select * from qingjiatianshu where xingming='" + Ming + "'", Cnnshuju, adOpenStatic, adLockBatchOptimistic, adCmdText
           CC = Rstkaoqin.Fields(5)
           DD = CC + 1
           Rstkaoqin.Fields(5) = DD
           Rstkaoqin.UpdateBatch
        Else
           RstShuju1.Fields(6) = 2
        End If
        RstShuju1.UpdateBatch
        Exit Sub
        
      End If
   
  End If
  
Set RstShuju = New ADODB.Recordset   'CHECK上午休息下午上班打卡是否准时
RstShuju.Open "select * from kaoqishuju where xingming='" + Ming + "'and checkqingjia=1 and riqi='" + Riqi + "'and ifsxban=1", Cnnshuju, adOpenKeyset, adLockBatchOptimistic, adCmdText
If Not RstShuju.EOF Then
   DaKaShiJian = CDate(RstShuju.Fields(4))
   BanShiJian = CDate("13:30:00")
   If RstShuju!Banhao = "0002" Then
     BanShiJian = CDate("14:00:00")
   End If
   ChaShiJian = DateDiff("N", BanShiJian, DaKaShiJian)
    If -5 <= ChaShiJian And ChaShiJian < 60 Then
      RstShuju.Fields(6) = 0
    Else
      If ChaShiJian > 5 And ChaShiJian < 30 Then
         RstShuju.Fields(6) = 1
         Set Rstkaoqin = New ADODB.Recordset
         Rstkaoqin.Open "select * from qingjiatianshu where xingming='" + Ming + "'", Cnnshuju, adOpenStatic, adLockBatchOptimistic, adCmdText
         CC = Rstkaoqin!chidao
         DD = CC + 1
         Rstkaoqin.Fields(5) = DD
         Rstkaoqin.UpdateBatch
      Else
         RstShuju.Fields(6) = 2
      End If
       RstShuju.UpdateBatch
      
     
    End If
End If

Set RstShuju = New ADODB.Recordset   'CHECK下午休息上午下班打卡是否准时
RstShuju.Open "select * from kaoqishuju where xingming='" + Ming + "'and checkqingjia=2 and riqi='" + Riqi + "'and ifsxban=2", Cnnshuju, adOpenKeyset, adLockBatchOptimistic, adCmdText
If Not RstShuju.EOF Then
   DaKaShiJian = CDate(RstShuju.Fields(4))
   BanShiJian = CDate("13:00:00")
   If RstShuju!Banhao = "0002" Then
     BanShiJian = CDate("13:30:00")
   End If
   
   ChaShiJian = DateDiff("N", BanShiJian, DaKaShiJian)
    If -5 <= ChaShiJian And ChaShiJian < 60 Then
      RstShuju.Fields(6) = 0
    Else
      If ChaShiJian > 5 And ChaShiJian < 30 Then
         RstShuju.Fields(6) = 1
         Set Rstkaoqin = New ADODB.Recordset
         Rstkaoqin.Open "select * from qingjiatianshu where xingming='" + Ming + "'", Cnnshuju, adOpenStatic, adLockBatchOptimistic, adCmdText
         CC = Rstkaoqin!chidao
         DD = CC + 1
         Rstkaoqin.Fields(5) = DD
         Rstkaoqin.UpdateBatch
      Else
         RstShuju.Fields(6) = 2
      End If
      RstShuju.UpdateBatch
      
      
    End If
End If


End Sub

Private Sub CheQingJia_Click()
'FrmQingJia.Show 1
End Sub

Private Sub AddExcel_Click()

End Sub

Private Sub add_Click()
AddExcel.Show
End Sub

Private Sub exit_Click()
Unload Me
End
End Sub

Private Sub Faka_Click()
CheReadCardNO = True
frmfaka.Show 1
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Frame2.Visible = True
End Sub

Private Sub Frame2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Frame2.Visible = True
End Sub

Private Sub GongZi_Click()
FrmGongZi.Show 1
End Sub

Private Sub HuanBan_Click()
FrmChangeBan.Show 1
End Sub

Private Sub Infomation_Click()
Info.Show 1
End Sub

Private Sub JiaBan_Click()
frmjiaban.Show 1
End Sub
Private Sub Jiankong_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Frame2.Visible = False
End Sub

Private Sub ModiInfo_Click()
'FrmModi.Show 1
End Sub

Private Sub ModiTianShu_Click()
'FrmModiJiaShu.Show 1
End Sub

Private Sub PriCulb_Click()
AddExcel.Show
End Sub

Private Sub PriSwiss_Click()
AddFour.Show 1
End Sub

Private Sub QingJia_Click()
frmholiday.Show 1
End Sub

Private Sub Query_Click()
frmquery.Show 1
End Sub
Private Sub LoadData()
Dangtian = Format(Now, "yyyymmdd")

 Set RstShuju = New ADODB.Recordset
 RstShuju.Open "select * from kaoqishuju where iffaka=0 and riqi='" + Dangtian + "'order by gonghao ", Cnnshuju, adOpenStatic, adLockBatchOptimistic, adCmdText
 
 Set Jiankong.DataSource = RstShuju
 Jiankong.Columns(0).Width = 0
 Jiankong.Columns(1).Caption = "卡号"
 Jiankong.Columns(1).Width = 1600
 Jiankong.Columns(2).Caption = "姓名"
 Jiankong.Columns(2).Width = 1600
 Jiankong.Columns(3).Caption = "日期"
 Jiankong.Columns(3).Width = 1600
 Jiankong.Columns(4).Caption = "打卡时间"
 Jiankong.Columns(4).Width = 1600
 Jiankong.Columns(5).Caption = "卡身号"
 Jiankong.Columns(5).Width = 1600
 Jiankong.Columns(6).Caption = "出勤情况"
 'If Jiankong.Columns(6).Value = 0 Then
 '   Jiankong.Columns(6).Value = "正常出勤"
 'End If
 Jiankong.Columns(6).Width = 1000
 Jiankong.Columns(7).Width = 0
 Jiankong.Columns(8).Width = 0
 Jiankong.Columns(9).Width = 0
 Jiankong.Columns(10).Caption = "班名"
 Jiankong.Columns(10).Width = 800
 Jiankong.Columns(11).Width = 0
 Jiankong.Columns(12).Width = 0
 Jiankong.Columns(13).Caption = "工号"
 Jiankong.Columns(13).Width = 750
 Jiankong.Columns(14).Width = 0
 Jiankong.Columns(15).Width = 0
 Jiankong.Columns(16).Width = 0
End Sub
Public Sub AddToEnd()
Dim ShangBan, XiaBan, CheckSX, Riqi, cardono, IFLate, CardNo, GongHao
Dim ShangBan1, XiaBan1
'Rstmain.Close

'CheckIfDaKa
Set Cnnmain = New ADODB.Connection
Cnnmain.Open "kaoqin", "andy", "1234"
Set Rstmain = New ADODB.Recordset
Rstmain.Open "select * from kaoqishuju where xingming='" + Ming + "'and riqi='" + Riqi + "'and ifsxban=2", Cnnmain, adOpenDynamic, adLockOptimistic, adCmdText

If Rstmain.EOF Then
    Exit Sub
Else
       
         CardNo = Rstmain.Fields(1)
         xingming = Rstmain.Fields(2)
         CheckSX = Rstmain.Fields(8)
         If CheckSX = 2 And ShiDuan = 2 Then
            XiaBan = Rstmain.Fields(4)
         End If
         
  
         Riqi = Rstmain.Fields(3)
         cardono = Rstmain.Fields(5)
         IFLate = Rstmain.Fields(6)
         GongHao = Rstmain.Fields(13)
    
         Rstmain.Close
         Set Rstmain = New ADODB.Recordset
         Rstmain.Open "select * from kaoqishuju where xingming='" + Ming + "' and ifsxban=1 and riqi='" + Riqi + "'", Cnnmain, adOpenDynamic, adLockBatchOptimistic, adCmdText
         If Not Rstmain.EOF Then
            ShangBan = Rstmain.Fields(4)
         End If
                
         If IfFour = True And KaCiShu = 4 Then
           RstShuju.Open "select * from dangtiandaka where xingming'" + xingming + "'and riqi='" + Riqi + "'", Cnnmain, adOpenStatic, adLockBatchOptimistic, adCmdText
           If Not RstShuju.EOF Then
               RstShuju.Fields(7) = ShangBan
               RstShuju.Fields(8) = XiaBan
               RstShuju.UpdateBatch
               Exit Sub
           End If
         End If

End If
  
  
  
  Set RstEnd = New ADODB.Recordset
  RstEnd.Open "select * from dangtiandaka where xingming='" + xingming + "' and riqi='" + Riqi + "' and sbshijian='" + ShangBan + "'", Cnnfaka, adOpenDynamic, adLockBatchOptimistic, adCmdText
  
  If RstEnd.EOF Then
         
         RstEnd.AddNew
            RstEnd.Fields(0) = xingming
            RstEnd.Fields(1) = cardono
            RstEnd.Fields(2) = CardNo
            RstEnd.Fields(3) = Riqi
            RstEnd.Fields(4) = ShangBan
         
         If CheckShangQingJia = True Then
           RstEnd.Fields(5) = "上午请假"
         End If
         
         If CheckXiaQingJia = True Then
            RstEnd.Fields(5) = "下午请假"
         End If
         
         RstEnd.Fields(6) = XiaBan
       
         RstEnd.Fields(9) = IFLate
         RstEnd.Fields(10) = "0"
         RstEnd.Fields(11) = "1"
         RstEnd.Fields(13) = GongHao
         RstEnd.UpdateBatch
      
      Rstmain.Close
      Set Rstmain = New ADODB.Recordset
      Rstmain.Open "select * from kaoqishuju where xingming='" + Ming + "' and ifsxban=1 and riqi='" + Riqi + "'", Cnnmain, adOpenDynamic, adLockBatchOptimistic, adCmdText
      If Not Rstmain.EOF Then
         Rstmain!ifsxban = 3
         Rstmain!checkqingjia = 0
         Rstmain.UpdateBatch
      End If
      
      
      Rstmain.Close
      Set Rstmain = New ADODB.Recordset
      Rstmain.Open "select * from kaoqishuju where xingming='" + Ming + "' and  ifsxban=2 and riqi='" + Riqi + "'", Cnnmain, adOpenDynamic, adLockBatchOptimistic, adCmdText
      If Not Rstmain.EOF Then
         Rstmain!ifsxban = 3
         Rstmain!checkqingjia = 0
         Rstmain.UpdateBatch
      End If
      
  End If
 'CheckIfDaKa
End Sub
Public Sub CheckWorkerTime()
    Set Rstbanci = New ADODB.Recordset        '从班次的表中提取班号和班名的打卡时间
    Rstbanci.Open "select * from ban where banhao='" + Banhao + "'and banming='" + BanMingC + "' ", CnnBanci, adOpenKeyset, adLockOptimistic, adCmdText
    BanShiJian = CDate(Rstbanci.Fields(5))
    If IfFour = True Then
      BanShiJian = CDate(Rstbanci.Fields(9))
    End If

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -