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

📄 frmemployees.frm

📁 一套比较完整的VB开发的员工请假管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
        .TextMatrix(0, 3) = "性别"
        .TextMatrix(0, 4) = "部门"
        .TextMatrix(0, 5) = "职务"
        .TextMatrix(0, 6) = "职称"
        .TextMatrix(0, 7) = "文化程度"
        .TextMatrix(0, 8) = "政治面貌"
        .TextMatrix(0, 9) = "婚姻状况"
        .TextMatrix(0, 10) = "身份证号码"
        .TextMatrix(0, 11) = "出生日期"
        .TextMatrix(0, 12) = "参加工作日期"
        .TextMatrix(0, 13) = "到本单位日期"
        .TextMatrix(0, 14) = "手机号码"
        .TextMatrix(0, 15) = "家庭电话"
        
        .TextMatrix(0, 16) = "家庭地址"
        .TextMatrix(0, 17) = "备注"
        
        
        .ScrollBars = flexScrollBarBoth
'        .GridLines = flexGridNone
'        .GridLinesFixed = flexGridNone
        
        .FillStyle = flexFillSingle
        .ScrollTrack = True
        .AllowUserResizing = flexResizeColumns
        
        
        For i = 1 To .Cols - 1
            .ColAlignmentFixed(i) = 3       '设置表格标题的对齐方式
            
        Next i
        
        
        
        
        .ColWidth(0) = 1
        .ColWidth(1) = 800
        .ColWidth(2) = 1000
        .ColWidth(3) = 500
        .ColWidth(4) = 700
        .ColWidth(5) = 600
        .ColWidth(6) = 600
        .ColWidth(7) = 800
        .ColWidth(8) = 800
        .ColWidth(9) = 800
        .ColWidth(10) = 1800
        .ColWidth(11) = 1200
        .ColWidth(12) = 1200
        .ColWidth(13) = 1200
        .ColWidth(14) = 1200
        .ColWidth(15) = 1400
        .ColWidth(16) = 3000
        .ColWidth(17) = 1000
        
        .ColAlignment(1) = 1 '水平居左,垂直居中对齐
        .ColAlignment(2) = 1
        .ColAlignment(3) = 4    '水平居中,垂直居中对齐
        .ColAlignment(4) = 4
        .ColAlignment(5) = 4
        .ColAlignment(6) = 4
        .ColAlignment(7) = 4
        .ColAlignment(8) = 4
        .ColAlignment(9) = 4
        .ColAlignment(10) = 1
        .ColAlignment(11) = 1
        .ColAlignment(12) = 1
        .ColAlignment(13) = 1
        .ColAlignment(14) = 1
        .ColAlignment(15) = 1
        .ColAlignment(16) = 1
        .ColAlignment(17) = 1
        
        .Row = 1                        '选择第一行
        .Col = 0
        .RowSel = 1
        .ColSel = .Cols - 1
        
    End With
End Sub

Public Sub ShowData(ByVal Recordset As ADODB.Recordset, ByVal flexGrid As MSHFlexGrid)
    Dim i As Long
    Dim vtempdata As Variant
    
    If Recordset.RecordCount > 0 Then
        Recordset.MoveFirst
        With flexGrid
            .Row = 1
            
            While Not Recordset.EOF
            
                .Rows = .Rows + 1
                For i = 1 To Recordset.Fields.Count - 1
                    
                    .Col = i
                    
                    If (.Row Mod 2) = 0 Then
                        .CellBackColor = &HF4D3A6
                    Else
                        .CellBackColor = vbWhite
                    End If
                    
                    vtempdata = Recordset.Fields(i - 1)
                    
                    Select Case i - 1
                        Case 2
                        
                        If vtempdata = 0 Then
                           .Text = "女"
                           
                        Else
                            .Text = "男"
                        End If
                           
                        Case 3
                            If Trim(vtempdata) <> Empty Then
                                
                                .Text = RecordSetFindItem(rctDepartList, "Depart_ID", vtempdata, 1)
                       
                            End If
                        
                        Case 4
                            If Trim(vtempdata) <> Empty Then
                                .Text = RecordSetFindItem(rctJobList, "Job_ID", vtempdata, 1)
            
                            End If

                        
                        Case 5
                            If Trim(vtempdata) <> Empty Then
                                .Text = RecordSetFindItem(rctTitelList, "Titel_ID", vtempdata, 1)
            
                            End If
                        
                        
                        Case 6
                            If Trim(vtempdata) <> Empty Then
                                .Text = RecordSetFindItem(rctEdulevel, "E_ID", vtempdata, 1)
            
                            End If
                        
                        
                        Case 7
                            If Trim(vtempdata) <> Empty Then
                                .Text = RecordSetFindItem(rctPlitics, "P_ID", vtempdata, 1)
            
                            End If
                        
                        Case 8
                            If Trim(vtempdata) <> Empty Then
                                .Text = RecordSetFindItem(rctMarriageStatus, "MS_ID", vtempdata, 1)
            
                            End If
                        
                        Case Else
                        
                            If Trim(vtempdata) <> Empty Then
                                .Text = Trim(vtempdata)
                               
                            End If
                          
                                             
                    End Select
                        
                        
                    
                Next i
                
                .Row = .Row + 1
                Recordset.MoveNext
            Wend
            
            
'        .Row = 1            '自动的选择第一行
'        .Col = 0
'        .RowSel = 1
'        .ColSel = .Cols - 1
            
        End With
    End If

End Sub

Private Sub flexEmployees_DblClick()
If frmEmployees.Caption <> "员工查询" Then
    Call tblEmployees_ButtonClick(tblEmployees.Buttons("modify"))
End If
End Sub

Private Sub flexEmployees_SelChange()
   Call GetFlexGridFirstColValue(flexEmployees, strEmpFirstFieldValue) '从表格中提取员工工作证号
   If strEmpFirstFieldValue <> Empty Then
        
           If Not (rctEmployees.EOF And rctEmployees.BOF) Then
            rctEmployees.MoveFirst
            rctEmployees.Find ("Emp_ID = " & "'" & Trim(strEmpFirstFieldValue) & "'") '实时的移动记录
       
          End If
   End If
   
   
End Sub

Private Sub Form_Load()
    Call IniGrid(flexEmployees)
    Call ShowData(rctEmployees, flexEmployees)
    Call frmLeavel.InitreDepart(trwDepart)
End Sub

Private Sub tblEmployees_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

    Case "add"
        'rctEmployees.AddNew
        If flexEmployees.Rows > 2 Then
            flexEmployees.Row = flexEmployees.Rows - 1
            flexEmployees.Col = 0
            
            flexEmployees.RowSel = flexEmployees.Rows - 1
            flexEmployees.ColSel = flexEmployees.Cols - 1
            
            If flexEmployees.Rows > 15 Then
                flexEmployees.TopRow = flexEmployees.Rows - 15
            End If
        End If
        frmEmpAdd.Caption = "新增记录"
        frmEmpAdd.cmdPrevious.Visible = False
        frmEmpAdd.cmdNext.Visible = False
        frmEmpAdd.cmdAdd.Visible = False
        frmEmpAdd.Show vbModal
    
    Case "delete"
    
    If strEmpFirstFieldValue <> Empty Then
            If MsgBox("您确定要删除此条记录吗?", vbQuestion + vbYesNo, "删除记录") = vbYes Then
                If frmUnit.RecordDelete(rctEmployees, adAffectCurrent) = True Then
                    frmEmployees.flexEmployees.Redraw = False
                    Call IniGrid(flexEmployees)
                    Call ShowData(rctEmployees, flexEmployees)
                    frmEmployees.flexEmployees.Redraw = True
                
                End If
            End If
        
    End If
    
    Case "modify"
        If strEmpFirstFieldValue <> Empty Then
            frmEmpAdd.Caption = "修改记录"
            Call frmEmpAdd.IniFromAdd(rctEmployees)
            frmEmpAdd.cmdAdd.Visible = False
            frmEmpAdd.cmdCancel.Visible = False
            frmEmpAdd.Show vbModal
        End If
    
    Case "exit"
        Unload Me
    
End Select




End Sub

Private Sub treDepart_BeforeLabelEdit(Cancel As Integer)

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(rctQueryEmployeesWithID, "select * from QueryEmployeesWithID") = True Then
             rctQueryEmployeesWithID.Filter = rctEmployees.Filter
            Set drptEmployees.DataSource = rctQueryEmployeesWithID
        End If
        
        If rctQueryEmployeesWithID.RecordCount <= 0 Then
            MsgBox "没有合适的记录", vbInformation + vbOKOnly, "打印信息"
            Exit Sub
        End If
    Select Case Button.Key
        Case "Preview"
            drptEmployees.Show vbModal
        Case "print"
            On Error GoTo Error_on_print
                drptEmployees.PrintReport False '不显示窗口
                Exit Sub
Error_on_print:
            MsgBox "错误代码:" & Err.Number & _
                    "错误描述:" & Err.Description, vbCritical + vbOKOnly, "打印错误"
        
    End Select
End Sub

Private Sub tlbPrint_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
    Select Case ButtonMenu.Key
        Case "singQuery"
            frmEmpQuery.Show vbModal, Me
        Case "multi"
        
    End Select
End Sub

Private Sub tmrSta_Timer()
    staEmployees.Panels("recordcount").Text = rctEmployees.RecordCount
End Sub

Private Sub trwDepart_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)
       
        strFilter = "Depart_ID =" & "'" & DepartId & "'"
        
      
        rctEmployees.Filter = strFilter
        
        flexEmployees.Redraw = False
        Call IniGrid(flexEmployees)
        Call ShowData(rctEmployees, flexEmployees)
        flexEmployees.Redraw = True
    Else
        rctEmployees.Filter = ""
        flexEmployees.Redraw = False
        Call IniGrid(flexEmployees)
        Call ShowData(rctEmployees, flexEmployees)
        flexEmployees.Redraw = True
        
    End If
End Sub

⌨️ 快捷键说明

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