亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modulemain.bas

?? 考勤機管理軟件,用于統計某段時間某個部門或者某個員工在某段內遲到與早退次數.
?? BAS
?? 第 1 頁 / 共 4 頁
字號:
    
    End If
    
    
'==============SetVacInfo=================================
    ReDim SetVacTypeInfo(0)
    tmpRst.Close
    Set tmpRst = Nothing
    tmpRst.Open "select * from SetVac order by EmployeeID,TimePos,TimeMode", con, adOpenStatic, adLockReadOnly
    lCount = tmpRst.RecordCount
    
    If lCount > 0 Then

        ReDim SetVacTypeInfo(1 To lCount) As SetVacType
        blnSetVacTypeInfo = True
        
        tmpRst.MoveFirst
        For i = 1 To lCount
            SetVacTypeInfo(i).EmployeeID = tmpRst!EmployeeID
            
            If Trim(tmpRst!TimeMode) = "每天" Then
                SetVacTypeInfo(i).TimeMode = 0
            ElseIf Trim(tmpRst!TimeMode) = "每周" Then
                SetVacTypeInfo(i).TimeMode = 1
            ElseIf Trim(tmpRst!TimeMode) = "每月" Then
                SetVacTypeInfo(i).TimeMode = 2
            End If
            
            
            If tmpRst!TimePos = "全天" Then
                SetVacTypeInfo(i).TimePos = 0
            Else
                SetVacTypeInfo(i).TimePos = Val(Mid(tmpRst!TimePos, 4, Len(tmpRst!TimePos) - 3))
            End If
            
            SetVacTypeInfo(i).BeginDate = tmpRst!BeginDate
            SetVacTypeInfo(i).EndDate = tmpRst!EndDate
            SetVacTypeInfo(i).BeginTime = tmpRst!BeginTime
            SetVacTypeInfo(i).EndTime = tmpRst!EndTime
            tmpRst.MoveNext
        Next
    
    End If
 '============SetClassInfo==================================

    strSQL = " select * from setclass" _
         & " where  EndDate>= '" & sBeginTime & "' and BeginDate<='" & sEndTime & "'" _
         & " order by AddClass desc"
    ReDim SetClassInfo(0)
    tmpRst.Close
    Set tmpRst = Nothing
    tmpRst.Open strSQL, con, adOpenStatic, adLockReadOnly
    lCount = tmpRst.RecordCount
    
    If lCount > 0 Then
    
        ReDim SetClassInfo(1 To lCount) As SetClassType
        blnSetClassInfo = True
        
        tmpRst.MoveFirst
        For i = 1 To lCount
            
            SetClassInfo(i).EmployeeID = tmpRst!EmployeeID
            SetClassInfo(i).AddClass = tmpRst!AddClass
            SetClassInfo(i).BeginDate = tmpRst!BeginDate
            SetClassInfo(i).EndDate = tmpRst!EndDate
            
            
            If Trim(tmpRst!TimeMode) = "每天" Then
                SetClassInfo(i).TimeMode = 0
            ElseIf Trim(tmpRst!TimeMode) = "每周" Then
                SetClassInfo(i).TimeMode = 1
            ElseIf Trim(tmpRst!TimeMode) = "每月" Then
                SetClassInfo(i).TimeMode = 2
            End If

            tmps = tmpRst!BeginDate
            SetClassInfo(i).BeginDate = Val(Mid(tmps, 1, 4)) * 600 + Val(Mid(tmps, 6, 2)) * 50 + Val(Mid(tmps, 9, 2))
            tmps = tmpRst!EndDate
            SetClassInfo(i).EndDate = Val(Mid(tmps, 1, 4)) * 600 + Val(Mid(tmps, 6, 2)) * 50 + Val(Mid(tmps, 9, 2))
            
            If SetClassInfo(i).TimeMode <> 0 Then
            
                If IsNull(tmpRst!BeginTime) Or Trim(tmpRst!BeginTime) = "" Then SetClassInfo(i).BeginTime = 0 Else SetClassInfo(i).BeginTime = tmpRst!BeginTime
                If IsNull(tmpRst!EndTime) Or Trim(tmpRst!EndTime) = "" Then SetClassInfo(i).EndTime = 0 Else SetClassInfo(i).EndTime = tmpRst!EndTime
                
            End If
            
            SetClassInfo(i).ClassID = tmpRst!ClassID
            FillCardID SetClassInfo(i).EmployeeID, SetClassInfo(i).CardID
            If SetClassInfo(i).CardID = Space(8) Then
                MsgBox "cardID =    !!!"
            End If
            tmpRst.MoveNext
        Next
    End If
'=============================LeaveInfo=======================================


    
    strSQL = "  select a.EmployeeID,b.BeginDate,b.EndDate,b.TimeMode,b.BeginTime,b.EndTime,b.TimePos from LeaveInfo a " _
            & " left outer join LeaveInfo_D b on a.LeaveID=b.LeaveID where " _
            & " EndDate>= '" & sBeginTime & "' and BeginDate<='" & sEndTime & "' order by EmployeeID,TimePos"
    Debug.Print strSQL
    
    ReDim LeaveTypeInfo(0)
    tmpRst.Close
    Set tmpRst = Nothing
    tmpRst.Open strSQL, con, adOpenStatic, adLockBatchOptimistic
    lCount = tmpRst.RecordCount
    
    If lCount > 0 Then

        ReDim LeaveTypeInfo(lCount) As LeaveType
        blnLeaveTypeInfo = True
    
        tmpRst.MoveFirst
        For i = 1 To lCount
                    
                    
            If Trim(tmpRst!TimeMode) = "每天" Then
                LeaveTypeInfo(i).TimeMode = 0
            ElseIf Trim(tmpRst!TimeMode) = "每周" Then
                LeaveTypeInfo(i).TimeMode = 1
            ElseIf Trim(tmpRst!TimeMode) = "每月" Then
                LeaveTypeInfo(i).TimeMode = 2
            End If
                    
            
            
            If tmpRst!TimePos = "全天" Then
                LeaveTypeInfo(i).TimePos = 0
            Else
                LeaveTypeInfo(i).TimePos = Val(Mid(tmpRst!TimePos, 4, Len(tmpRst!TimePos) - 3))
            End If
            
            LeaveTypeInfo(i).EmployeeID = tmpRst.Fields("EmployeeID")
            LeaveTypeInfo(i).BeginTime = tmpRst.Fields("BeginTime")
            LeaveTypeInfo(i).EndTime = tmpRst.Fields("EndTime")
            
            LeaveTypeInfo(i).BeginDate = tmpRst!BeginDate
            LeaveTypeInfo(i).EndDate = tmpRst!EndDate

            tmpRst.MoveNext
        Next
        
    End If
    
'=============================InDataInfo=======================================

'    sBeginTime = Mid(sBeginTime, 1, 4) & Mid(sBeginTime, 6, 2) & Mid(sBeginTime, 9, 2)
'    sEndTime = Mid(sEndTime, 1, 4) & Mid(sEndTime, 6, 2) & Mid(sEndTime, 9, 2)
'
'    strSQL = "select InDate,InCode,InTime from indata where InDate Between '" _
'             & sBeginTime & "' and '" & sEndTime & " 'order by indate,incode,InTime asc"
'
'    tmpRst.Close
'    Set tmpRst = Nothing
'    tmpRst.Open strSQL, con, adOpenStatic, adLockBatchOptimistic
'    lCount = tmpRst.RecordCount
'
'    If lCount > 0 Then
'
'        ReDim InDataInfo(lCount) As InDataType
'        blnInDataInfo = True
'
'        tmpRst.MoveFirst
'        For i = 1 To lCount
'
'            InDataInfo(i).InDate = tmpRst.Fields("InDate")
'            InDataInfo(i).InCode = tmpRst.Fields("InCode")
'            InDataInfo(i).InTime = tmpRst.Fields("InTime")
'
'            tmpRst.MoveNext
'        Next
'
'    End If
    
    tmpRst.Close
    Set tmpRst = Nothing
    
End Sub



'===============利用員工名稱,獲得員工卡號
Public Sub FillCardID(ByVal EmployeeID As Long, ByRef CardID As String)
    If blnEmployeeInfo = False Then Exit Sub
    Dim upBound As Long
    upBound = UBound(EmployeeInfo, 1)
    Dim i As Integer
    For i = 1 To upBound
        If EmployeeInfo(i).EmployeeID = EmployeeID Then
            CardID = EmployeeInfo(i).CardID
            Exit Sub
        End If
    Next
    CardID = ""
End Sub

Public Function GetEmployeeVac(Code As String) As Long
    If blnEmployeeInfo = False Then Exit Function
    Dim upBound As Long
    upBound = UBound(EmployeeInfo)
    Dim i As Integer
    For i = 1 To upBound
        If EmployeeInfo(i).CardID = Code Then
            GetEmployeeVac = EmployeeInfo(i).VacID
            Exit Function
        End If
    Next
    GetEmployeeVac = 0

End Function


'=============利用員工卡號,獲得員工名稱
Public Sub GetEmployeeID(ByVal Code As String, ByRef EmployeeID As Integer)
    If blnEmployeeInfo = False Then Exit Sub
    Dim upBound As Long
    upBound = UBound(EmployeeInfo)
    Dim i As Integer
    For i = 1 To upBound
        If EmployeeInfo(i).CardID = Code Then
            EmployeeID = EmployeeInfo(i).EmployeeID
            Exit Sub
        End If
    Next
    EmployeeID = 0
End Sub



Public Function GetMaxTimeCount(ByVal dBeginDate As Date, ByVal dEndDate As Date) As Long
'    Dim tmpRst As New ADODB.Recordset
    Dim i As Long
    Dim lCount As Long
    Dim bTime As String
    Dim lCardCount As Long
    Dim MaxCount As Long
   
'    tmpRst.Open "select * from employee", con, adOpenStatic, adLockReadOnly
'    lCount = tmpRst.RecordCount
'
'    If lCount > 0 Then
'
'        ReDim EmployeeInfo(1 To lCount) As EmployeeType
'        tmpRst.MoveFirst
'        For i = 1 To lCount
'            EmployeeInfo(i).EmployeeName = tmpRst!Name
'            EmployeeInfo(i).ClassID = tmpRst!ClassID
'            EmployeeInfo(i).VacID = tmpRst!VacID
'            EmployeeInfo(i).CardID = tmpRst!Code
'            EmployeeInfo(i).EmployeeID = tmpRst!EmployeeID
'            tmpRst.MoveNext
'        Next
'
'    End If

    Dim lEmpRow As Long
    Dim lEmpCount As Long
    If blnEmployeeInfo = False Then Exit Function
    lEmpCount = UBound(EmployeeInfo)
    
    Do While dBeginDate <= dEndDate

        For lEmpRow = 1 To lEmpCount
        
            bTime = Format(dBeginDate, "yyyy-mm-dd")
            bTime = Mid(bTime, 1, 4) & Mid(bTime, 6, 2) & Mid(bTime, 9, 2)
            GetSetClassID EmployeeInfo(lEmpRow).CardID, bTime
            lCardCount = GetClassCount()
            If MaxCount < lCardCount Then MaxCount = lCardCount
            
        Next

        dBeginDate = dBeginDate + 1
    Loop
    GetMaxTimeCount = MaxCount
    
'    If tmpRst.State = 1 Then tmpRst.Close
'    Set tmpRst = Nothing
End Function


Public Function GetTimePosCount() As Long

    Dim tmpRst As New ADODB.Recordset
    Dim lCount As Long
    Dim i As Long
    Dim j As Long
    
    Dim tmps As String
    Dim tmps1 As Long
    Dim iValue As Long
    
    tmpRst.Open "select a.ClassID,a.ClassName,b.OnDutyTime,b.OffDutyTime from class a " _
        & "left outer join class_d b on a.ClassID=b.ClassID", con, adOpenStatic, adLockReadOnly
        
        
'    tmpRst.Open "select count(ClassID) as abc from Class_D", con, adOpenStatic, adLockReadOnly
'    GetTimePosCount = tmpRst.Fields("abc")
        
        
    lCount = tmpRst.RecordCount
    blnClassInfo = False
    If lCount > 0 Then

        ReDim ClassInfo(1 To lCount) As ClassType
        blnClassInfo = True
        
        tmpRst.MoveFirst
        For i = 1 To lCount
            ClassInfo(i).ClassName = tmpRst!ClassName
            ClassInfo(i).ClassID = tmpRst!ClassID

            tmps = tmpRst!OnDutyTime
            tmps1 = Val(Split(tmps, ":")(0))
            iValue = Val(tmps1)
            tmps1 = Val(Split(tmps, ":")(1))
            iValue = Val(tmps1) + iValue * 60
            ClassInfo(i).InTime = iValue

            tmps = tmpRst!OffDutyTime
            tmps1 = Val(Split(tmps, ":")(0))
            iValue = Val(tmps1)
            tmps1 = Val(Split(tmps, ":")(1))
            iValue = Val(tmps1) + iValue * 60
            ClassInfo(i).OutTime = iValue

            tmpRst.MoveNext
        Next

    End If

    Dim tmpClassID As Long
    Dim tmpClassName As String
    Dim tmpInTime As Long
    Dim tmpOutTime As Long
    
    If blnClassInfo = False Then Exit Function
    lCount = UBound(ClassInfo)

    For i = 1 To lCount - 1
        For j = i + 1 To lCount
            If ClassInfo(i).InTime > ClassInfo(j).InTime Then
                tmpClassID = ClassInfo(i).ClassID
                tmpClassName = ClassInfo(i).ClassName
                tmpInTime = ClassInfo(i).InTime
                tmpOutTime = ClassInfo(i).OutTime

                ClassInfo(i).ClassID = ClassInfo(j).ClassID
                ClassInfo(i).ClassName = ClassInfo(j).ClassName
                ClassInfo(i).InTime = ClassInfo(j).InTime
                ClassInfo(i).OutTime = ClassInfo(j).OutTime

                ClassInfo(j).ClassID = tmpClassID
                ClassInfo(j).ClassName = tmpClassName
                ClassInfo(j).InTime = tmpInTime
                ClassInfo(j).OutTime = tmpOutTime

            End If
        Next
    Next

    GetTimePosCount = 1
    For i = 1 To lCount - 1
        For j = i + 1 To lCount
            If ClassInfo(j).InTime > ClassInfo(i).OutTime Then
                GetTimePosCount = GetTimePosCount + 1
                i = j - 1
                Exit For
            End If
        Next
    Next
    
    If tmpRst.State = 1 Then tmpRst.Close
    Set tmpRst = Nothing
    

End Function

Public Function GetOnClassID(ByVal sCode As String, ByVal sDate As String)
    Dim j As Long
    Dim i As Long
    Dim X As Long
    Dim upBound As Long
    
    Dim lDate As Long
    lDate = Val(Mid(sDate, 1, 4)) * 600 + Val(Mid(sDate, 5, 2)) * 50 + Val(Mid(sDate, 7, 2))
    
    X = GetClassID(sCode)
    
    If blnOnClassInfo = False Then Exit Function
    upBound = UBound(OnClassInfo)
    For i = 1 To upBound
        If OnClassInfo(i).OnClassID = X Then
        
            If lDate >= OnClassInfo(i).BeginDate And lDate <= OnClassInfo(i).EndDate Then
            
                If ClassIDInfo(UBound(ClassIDInfo)).ClassID <> 0 Then ReDim Preserve ClassIDInfo(UBound(ClassIDInfo) + 1)
                
                If OnClassInfo(i).TimeMode = 0 Then
                
                    ClassIDInfo(UBound(ClassIDInfo)).AddClass = False
                    ClassIDInfo(UBound(ClassIDInfo)).ClassID = OnClassInfo(i).ClassID
                    
                ElseIf OnClassInfo(i).TimeMode = 1 Then
                
                    Dim dtm As Date
                    Dim iWeek As Integer
                    
                    dtm = CDate(Mid(sDate, 1, 4) & "-" & Mid(sDate, 5, 2) & "-" & Mid(sDate, 7, 2))
                    iWeek = Weekday(dtm)
                    
                    If iWeek = 1 Then iWeek = 7 Else iWeek = iWeek - 1
                           
                    If iWeek >= OnClassInfo(i).BeginTime And iWeek <= OnClassInfo(i).EndTime Then
                        ClassIDInfo(UBound(ClassIDInfo)).AddClass = False
                        ClassIDInfo(UBound(ClassIDInfo)).ClassID = OnClassInfo(i).ClassID
                    End If
                
                ElseIf OnClassInfo(i).TimeMode = 2 Then
                
                    Dim lDay As Long
                    lDay = Right(sDate, 2)
    
                    If (lDay >= OnClassInfo(i).BeginTime) And (lDay <= OnClassInfo(i).EndTime) Then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美影音先锋| 成人在线综合网站| 国产成人免费9x9x人网站视频| 成人国产精品免费观看视频| 51精品视频一区二区三区| 国产精品乱码一区二三区小蝌蚪| 日欧美一区二区| 99久久免费视频.com| 欧美mv日韩mv国产网站| 亚洲国产一区二区三区青草影视| 国产成人免费视频一区| 7777精品伊人久久久大香线蕉的| 亚洲柠檬福利资源导航| 成人激情免费网站| www成人在线观看| 青青草97国产精品免费观看| 欧洲一区二区三区在线| 亚洲视频在线观看三级| 丁香一区二区三区| 国产欧美日韩亚州综合| 国产老肥熟一区二区三区| 欧美成人猛片aaaaaaa| 日韩国产在线观看| 欧美久久一二区| 香蕉加勒比综合久久| 欧美日韩一区二区三区在线看| 中文字幕在线不卡一区二区三区 | 中文字幕第一区| 国产成人在线视频播放| 国产亚洲欧美一区在线观看| 九九精品一区二区| 精品乱人伦小说| 精品一区二区三区在线播放视频| 欧美一区二区三区白人| 视频一区视频二区在线观看| 制服丝袜激情欧洲亚洲| 日韩电影一区二区三区四区| 91精品国产91久久久久久最新毛片 | 一区二区三区中文字幕电影| 日本韩国欧美一区二区三区| 一区二区成人在线观看| 欧美日韩国产a| 日韩av一区二区三区四区| 日韩精品一区二区在线| 国产一区二区三区久久久 | 国产91丝袜在线18| 国产精品国产三级国产aⅴ无密码| 成人污视频在线观看| 国产精品国产馆在线真实露脸| av电影一区二区| 亚洲成av人**亚洲成av**| 91精品欧美综合在线观看最新| 久久黄色级2电影| 日本一区二区成人在线| 欧美影视一区在线| 韩国一区二区视频| 亚洲精选视频免费看| 91精品啪在线观看国产60岁| 国产成人免费av在线| 亚洲综合一区二区| 精品三级av在线| 91在线观看污| 人禽交欧美网站| 国产精品女主播在线观看| 欧美在线|欧美| 国产精选一区二区三区| 中文字幕日韩一区二区| 欧美丰满少妇xxxbbb| 国产成a人无v码亚洲福利| 亚洲一区在线观看网站| 久久综合九色综合欧美亚洲| 色哟哟日韩精品| 经典三级一区二区| 亚洲激情男女视频| 欧美精品一区二区三区蜜桃视频| 色综合中文字幕国产 | 成人妖精视频yjsp地址| 亚洲国产成人av| 国产精品进线69影院| 日韩欧美电影一区| 欧美在线免费观看亚洲| 国产传媒一区在线| 日本系列欧美系列| 一区二区三区四区中文字幕| 国产无人区一区二区三区| 精品视频1区2区3区| voyeur盗摄精品| 国产精品一区免费视频| 美女诱惑一区二区| 亚洲国产中文字幕在线视频综合| 中文欧美字幕免费| 2020国产精品| 欧美一区日本一区韩国一区| 色综合久久综合网欧美综合网| 国产美女久久久久| 日本美女一区二区三区| 亚洲一区二区精品久久av| 国产精品网站在线观看| www日韩大片| 精品国产一区二区三区久久久蜜月| 欧美日韩视频在线第一区| 94-欧美-setu| 欧美电影在线免费观看| 五月婷婷激情综合网| 亚洲精品老司机| 国产精品高潮久久久久无| 久久精品欧美日韩精品| 久久毛片高清国产| 久久久国产一区二区三区四区小说 | 日韩一区二区精品| 欧美精品久久一区| 欧美日韩国产高清一区二区三区| 欧美色精品在线视频| 色综合久久天天综合网| 色综合久久久网| 在线观看日韩电影| 欧美性videosxxxxx| 在线观看视频一区二区欧美日韩| 色国产精品一区在线观看| 欧美在线观看视频在线| 欧美日韩免费一区二区三区 | 粉嫩绯色av一区二区在线观看| 国产精品一二一区| 成人妖精视频yjsp地址| av资源站一区| 在线精品视频免费播放| 欧美精品自拍偷拍动漫精品| 日韩欧美高清dvd碟片| 欧美videossexotv100| 久久夜色精品一区| 成人免费在线播放视频| 亚洲影院在线观看| 舔着乳尖日韩一区| 黄一区二区三区| 99久久er热在这里只有精品15 | 成年人国产精品| 91精品福利在线| 欧美一区二区三区在线| 精品成人在线观看| 综合久久久久久| 日韩精品亚洲专区| 精品写真视频在线观看| heyzo一本久久综合| 欧美酷刑日本凌虐凌虐| 久久香蕉国产线看观看99| 亚洲欧美影音先锋| 老司机精品视频线观看86| aaa欧美色吧激情视频| 欧美日韩aaaaa| 国产午夜精品久久久久久免费视 | 久久久久国产精品人| 成人免费在线视频| 欧美aaaaa成人免费观看视频| 国产suv精品一区二区6| 欧美性大战久久久久久久蜜臀| 精品福利在线导航| 亚洲欧美日韩国产成人精品影院| 美洲天堂一区二卡三卡四卡视频| 成人高清av在线| 午夜国产精品影院在线观看| 亚洲成人一区二区| 成人中文字幕电影| 日韩精品一区二区三区老鸭窝| 亚洲免费av网站| 国产精品一区二区91| 欧美日韩国产首页在线观看| 中文字幕精品综合| 精品一区二区三区视频在线观看 | 懂色一区二区三区免费观看| 欧美日韩国产高清一区二区 | 日本不卡一区二区| 91在线无精精品入口| 久久久五月婷婷| 另类成人小视频在线| 欧美视频你懂的| ...av二区三区久久精品| 狠狠色丁香婷婷综合久久片| 欧美少妇xxx| 一区二区视频在线| av激情综合网| 欧美国产1区2区| 国产一区二区毛片| 精品国产一区二区三区忘忧草| 日韩成人免费看| 在线一区二区观看| 亚洲主播在线播放| 91九色02白丝porn| 一区二区三区高清不卡| 91浏览器打开| 1区2区3区精品视频| 成人av影院在线| 国产精品美女久久久久久久久| 国产一区二区久久| 久久久一区二区三区| 精品一区二区在线播放| 26uuu色噜噜精品一区二区| 蜜臀av一区二区| 久久亚洲精品国产精品紫薇| 国产乱码精品一区二区三区忘忧草 | 在线观看av不卡|