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

📄 frmleavel.frm

📁 一套比较完整的VB开发的员工请假管理系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:
                        Case 10
                            If Trim(vtempdata) <> Empty Then
                                .Text = frmEmployees.RecordSetFindItem(rctLeavelStatus, "LS_ID", vtempdata, 1)
                            End If
                        Case Else
                            If Trim(vtempdata) <> Empty Then
                                .Text = Trim(vtempdata)
                               
                            End If
                    End Select
                End If
               
                Next i
                .Row = .Row + 1
                Recordset.MoveNext
            Wend
        .Redraw = True
        End With
    End If
End Sub

Private Sub dispdetial()
  With rctLeavelList
        txtEmp_ID.Text = .Fields("Emp_ID")
        txtEmp_Name.Text = .Fields("Emp_Name")
        
  End With
End Sub

Public Sub InitreDepart(ByVal trwDepart As TreeView)
Dim Node As Node
Dim departName As String
Dim DepartId As String
With trwDepart
    .LineStyle = tvwRootLines
    Set Node = .Nodes.Add(, , "full", "全部员工")
        Node.Image = "root"
       
    If rctDepartList.RecordCount > 0 Then
        rctDepartList.MoveFirst
        
        While Not rctDepartList.EOF
            DepartId = "I" & Trim(rctDepartList.Fields("Depart_ID"))
    
            departName = Trim(rctDepartList.Fields("Depart_name"))
          
           Set Node = .Nodes.Add("full", 4, DepartId, departName)
   
            Node.Image = "depart"
            Node.SelectedImage = "select"
            rctDepartList.MoveNext
        Wend
    End If
    

    
    If .Nodes("full").Children > 0 Then
        .Nodes("full").Expanded = True
    End If
End With
End Sub

Private Sub DetialClear()

    txtEmp_ID.Text = Empty
    txtEmp_Name.Text = Empty
    dcbDepartID.Text = Empty
    dcbLeavelStatus.Text = Empty
    dcbLeavelType.Text = Empty
    txtLeavel_days.Text = Empty
    mskLeavel_start_time.Text = "    -  -  "
    MaskLeavel_end_time.Text = "    -  -  "
    txtLeavel_matter.Text = Empty
    txtExamine_opinion.Text = Empty
    txtExamine_person.Text = Empty
End Sub

Private Sub chkDateOption_Click()
    If chkDateOption.Value = 0 Then
       dtpStart.Enabled = False
       dtpEnd.Enabled = False
    Else
        If chkDateOption.Value = 1 Then
            dtpStart.Enabled = True
            dtpEnd.Enabled = True
        End If
    End If
End Sub

Private Sub flexLeavel_DblClick()
If frmLeavel.Caption = "请假管理" Then

Call tblEmployees_ButtonClick(tblEmployees.Buttons("modify"))
End If
End Sub

Private Sub flexLeavel_SelChange()

Dim vtempdata As Variant
Call frmEmployees.GetFlexGridFirstColValue(flexLeavel, strLvlFirstFieldValue) '从表格中提取员工工作证号
If strLvlFirstFieldValue <> Empty Then
    If Not (rctLeavelList.BOF And rctLeavelList.EOF) Then
        rctLeavelList.MoveFirst
        rctLeavelList.Find ("Emp_ID = " & "'" & Trim(strLvlFirstFieldValue) & "'")
        
        txtEmp_ID.Text = rctLeavelList.Fields("Emp_ID")
        txtEmp_Name.Text = rctLeavelList.Fields("Emp_Name")
        If rctLeavelList.Fields("Depart_Id") <> Empty Then
            dcbDepartID.BoundText = rctLeavelList.Fields("Depart_Id")
        Else
            dcbDepartID.Text = Empty
        End If
        
           dcbLeavelStatus.BoundText = rctLeavelList.Fields("LS_ID")
        
           dcbLeavelType.BoundText = rctLeavelList.Fields("Leavel_ID")
           
        If rctLeavelList.Fields("Leavel_days") <> Empty Then
            txtLeavel_days.Text = rctLeavelList.Fields("Leavel_days")
        Else
            txtLeavel_days.Text = Empty
        End If
        
        If rctLeavelList.Fields("Leavel_matter") <> Empty Then
            txtLeavel_matter.Text = rctLeavelList.Fields("Leavel_matter")
        Else
            txtLeavel_matter.Text = Empty
        End If
        
        If rctLeavelList.Fields("Examine_opinion") <> Empty Then
            txtExamine_opinion.Text = rctLeavelList.Fields("Examine_opinion")
        Else
            txtExamine_opinion.Text = Empty
        End If
        
        If rctLeavelList.Fields("Examine_person") <> Empty Then
            txtExamine_person.Text = rctLeavelList.Fields("Examine_person")
        Else
            txtExamine_person.Text = Empty
        End If
        
        
        vtempdata = rctLeavelList.Fields("Leavel_start_time")
        If vtempdata <> Empty Then
           mskLeavel_start_time.Text = Format(vtempdata, "yyyy-mm-dd")
        Else
           mskLeavel_start_time.Text = "    -  -  "
        End If
        
        vtempdata = rctLeavelList.Fields("Leavel_end_time")
        If vtempdata <> Empty Then
           MaskLeavel_end_time.Text = Format(vtempdata, "yyyy-mm-dd")
        Else
            MaskLeavel_end_time.Text = "    -  -  "
        End If
    End If
Else
    Call DetialClear
End If
End Sub

Private Sub Form_Load()
    Call IniGrid(flexLeavel)
    Call showdata(rctLeavelList, flexLeavel)
    
   Set dcbDepartID.RowSource = rctDepartList
   
   dcbDepartID.BoundColumn = "Depart_ID"
   dcbDepartID.ListField = "Depart_Name"
   
   Set dcbLeavelStatus.RowSource = rctLeavelStatus
   dcbLeavelStatus.BoundColumn = "LS_ID"
   dcbLeavelStatus.ListField = "Ls_Name"
   
   Set dcbLeavelType.RowSource = rctLeavelType
   dcbLeavelType.BoundColumn = "Leavel_ID"
   dcbLeavelType.ListField = "Leavel_Name"
   
   Call InitreDepart(treDepart)
    
End Sub

Private Sub lblEmatter_Click()

End Sub

Private Sub lblLstartTime_Click()

End Sub

Private Sub MaskLeavel_end_time_KeyPress(KeyAscii As Integer)
    KeyAscii = 0
End Sub

Private Sub mskLeavel_start_time_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub tblEmployees_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Key
        Case "add"
        If flexLeavel.Rows > 2 Then
            flexLeavel.Row = flexLeavel.Rows - 1
            flexLeavel.Col = 0
            
            flexLeavel.RowSel = flexLeavel.Rows - 1
            flexLeavel.ColSel = flexLeavel.Cols - 1
            
            If flexLeavel.Rows > 10 Then
                flexLeavel.TopRow = flexLeavel.Rows - 15
            End If
        End If
        frmLeavelAdd.Caption = "新增记录"
        frmLeavelAdd.cmdPrevious.Visible = False
        frmLeavelAdd.cmdNext.Visible = False
        frmLeavelAdd.cmdAdd.Visible = False
        frmLeavelAdd.Show vbModal
           
        Case "delete"
            If strLvlFirstFieldValue <> Empty Then
               If MsgBox("您确定要删除此条记录吗?", vbQuestion + vbYesNo, "删除记录") = vbYes Then
                  If frmUnit.RecordDelete(rctLeavelList, adAffectCurrent) = True Then
                      flexLeavel.Redraw = False
                        Call IniGrid(flexLeavel)
                        Call showdata(rctLeavelList, flexLeavel)
                      flexLeavel.Redraw = True
                  End If
               End If
            End If
        Case "modify"
            If strLvlFirstFieldValue <> Empty Then
                frmLeavelAdd.Caption = "修改记录"
                Call frmLeavelAdd.InifrmLeavel
                frmLeavelAdd.cmdAdd.Visible = False
                frmLeavelAdd.cmdCancel.Visible = False
                frmLeavelAdd.Show vbModal
            End If
        Case "exit"
            Unload Me
    End Select
    
End Sub



Private Sub tlbExit_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Key
        Case "exit"
            Unload Me
        Case "help"
        
    End Select
End Sub

Private Sub tlbPrint_ButtonClick(ByVal Button As MSComctlLib.Button)
        If ExcuteSql(rctQueryLeavelWithID, "select * from queryLeavelwithID") = True Then
             rctQueryLeavelWithID.Filter = rctLeavelList.Filter
            Set drptLeavel.DataSource = rctQueryLeavelWithID
        End If
        
        If rctQueryLeavelWithID.RecordCount <= 0 Then
            MsgBox "没有合适的记录", vbInformation + vbOKOnly, "打印信息"
            Exit Sub
        End If
Select Case Button.Key
    Case "printer"
        On Error GoTo Error_on_print
        drptLeavel.PrintReport False '不显示窗口
        Exit Sub
Error_on_print:
        MsgBox "错误代码:" & Err.Number & _
                "错误描述:" & Err.Description, vbCritical + vbOKOnly, "打印错误"
    Case "Preview"

        
        
        drptLeavel.Show vbModal
    
End Select
End Sub

Private Sub treDepart_NodeClick(ByVal Node As MSComctlLib.Node)
   Dim DepartId As String
   Dim strFilter As String
   If Node.Key <> "full" Then
        DepartId = Mid(Node.Key, 2, Len(Node.Key) - 1)
        'MsgBox DepartId
        strFilter = "Depart_ID =" & "'" & DepartId & "'"
        
        If chkDateOption.Value = 1 Then
            strFilter = strFilter & "  and  " & "(" & "Leavel_start_time >= " & "'" & dtpStart.Value & "'" & " and  " & "Leavel_start_time <= " & "'" & dtpEnd.Value & "'" & ")"
            
        End If
        'MsgBox strFilter
        
        'strFilter = "depart_id =" & "'01'" & " and " & "Leavel_start_time >= " & "'2004-8-8'" & " and Leavel_start_time <= " & "'2004-8-8'"
        'MsgBox strFilter
        rctLeavelList.Filter = strFilter
   
        Call IniGrid(flexLeavel)
        Call showdata(rctLeavelList, flexLeavel)
        strLvlFirstFieldValue = Empty
    Else
        If chkDateOption.Value = 1 Then
             rctLeavelList.Filter = ""
            rctLeavelList.Filter = "Leavel_start_time >= " & "'" & dtpStart.Value & "'" & " and  " & "Leavel_start_time <= " & "'" & dtpEnd.Value & "'"
        Else
             rctLeavelList.Filter = ""
        End If
       
        Call IniGrid(flexLeavel)
        Call showdata(rctLeavelList, flexLeavel)
        strLvlFirstFieldValue = Empty
    End If
    
    Call DetialClear
End Sub

⌨️ 快捷键说明

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