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

📄 frmworkersort.frm

📁 本公司开发得大请油田人事管理系统c/s结构
💻 FRM
📖 第 1 页 / 共 4 页
字号:
            Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_UNALL_MEMBER).ForeColor = C_UNUSE_COLOR
        Else
            .Row = 1
            Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_LUMP_MEMBER).ForeColor = C_USE_COLOR
            Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_EXCEL_MEMBER).ForeColor = C_USE_COLOR
            Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_PRN_MEMBER).ForeColor = C_USE_COLOR
            Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_ALL_MEMBER).ForeColor = C_USE_COLOR
            Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_UNALL_MEMBER).ForeColor = C_USE_COLOR
        End If
    End With
    InitForm
    With VSFlexGrid4Group
        .Cols = 18
        .TextMatrix(0, 1) = "职工姓名"
        .TextMatrix(0, 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) = "资格是否在聘"
        .ColHidden(16) = True
        .ColHidden(17) = True
        .ColDataType(13) = flexDTDate
        .ColFormat(13) = "yyyy年mm月dd日"
        .ColFormat(13) = "yyyy年mm月dd日"
        .ColWidth(0) = .RowHeight(0)
        For lfor = 1 To .Cols - 1
            .ColAlignment(lfor) = flexAlignCenterCenter
        Next
        .ColComboList(4) = g_strArray4ColComboList(C_T_ORGAN)
        .ColComboList(5) = g_strArray4ColComboList(C_T_ORGAN)
        .ColComboList(6) = g_strArray4ColComboList(C_T_ORGAN)
        .ColComboList(7) = g_strArray4ColComboList(C_T_ORGAN)
        .ColComboList(11) = g_strArray4ColComboList(C_T_TECHNICAL_GRADE)
        .ColComboList(10) = g_strArray4ColComboList(C_T_WORKER_TYPE)
        .ColComboList(9) = g_strArray4ColComboList(C_T_USEWORK_TYPE)

    End With
    vsElastic2.Caption = "工人工种信息(总计" & VSFlexGrid4WorkerSort.Rows - 1 & "条记录)"
End Sub

Private Sub VSFlexGrid4WorkerSort_BeforeDataRefresh(Cancel As Boolean)
    VSFlexGrid4WorkerSort.FixedCols = 1
End Sub

Private Sub VSFlexGrid4WorkerSort_BeforeEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
    If Col = 0 Then Exit Sub
    Cancel = True
End Sub

Private Sub VSFlexGrid4WorkerSort_Click()
    With Me.VSFlexGrid4WorkerSort
        If .Row > 0 And .Col = 0 Then
           If .TextMatrix(.Row, 0) = "True" Then
                .TextMatrix(.Row, 0) = "False"
            Else
                .TextMatrix(.Row, 0) = "True"
            End If
        End If
    End With
End Sub
Private Sub InitForm()
    '1位查询,2位增加,3位修改,4位删除,5位导出到excel,6位打印,7位其他
    Dim str4CheckPermission As String
    str4CheckPermission = CheckPermission("工人工种信息")
    With SSListBar4This
        If Mid(str4CheckPermission, 1, 1) = 0 Then .Groups(C_FIRST_GROUP).ListItems(C_SELECT_MEMBER).ForeColor = C_UNUSE_COLOR
        If Mid(str4CheckPermission, 2, 1) = 0 Then .Groups(C_SECOND_GROUP).ListItems(C_INSERT_MEMBER).ForeColor = C_UNUSE_COLOR
        If Mid(str4CheckPermission, 3, 1) = 0 Then .Groups(C_SECOND_GROUP).ListItems(C_UPDATE_MEMBER).ForeColor = C_UNUSE_COLOR
        If Mid(str4CheckPermission, 4, 1) = 0 Then .Groups(C_SECOND_GROUP).ListItems(C_DELETE_MEMBER).ForeColor = C_UNUSE_COLOR
        If Mid(str4CheckPermission, 5, 1) = 0 Then .Groups(C_FIRST_GROUP).ListItems(C_TO_EXCEL_MEMBER).ForeColor = C_UNUSE_COLOR
        If Mid(str4CheckPermission, 6, 1) = 0 Then .Groups(C_FIRST_GROUP).ListItems(C_TO_PRN_MEMBER).ForeColor = C_UNUSE_COLOR
    End With
End Sub

Private Sub SSListBar4This_ListItemClick(ByVal ItemClicked As Listbar.SSListItem)
    Dim lfor As Long
    If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_LUMP_MEMBER).text = "分类汇总(&L)" Then Me.VSFlexGrid4WorkerSort.SetFocus
    Select Case Me.SSListBar4This.CurrentGroup.Index
    Case C_FIRST_GROUP
        Select Case ItemClicked.Index
        Case C_ALL_MEMBER
            If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_ALL_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            With VSFlexGrid4WorkerSort
                'AfterDataRefresh中设置 .row=1
                If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_ALL_MEMBER).text = "全选(&A)" Then
                    Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_ALL_MEMBER).text = "清空(&C)"
                    For lfor = 1 To .Rows - 1
                        If lfor < .Row Then
                            .TextMatrix(lfor, 0) = "False"
                        Else
                            If lfor - .Row >= 1000 Then MsgBox "最大只能选择1000条记录。", vbOKOnly, "确定": Exit Sub
                            .TextMatrix(lfor, 0) = "True"
                        End If
                    Next
                Else
                    Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_ALL_MEMBER).text = "全选(&A)"
                    For lfor = .Row To .Rows - 1
                        .TextMatrix(lfor, 0) = "False"
                    Next
                End If
            End With
        Case C_UNALL_MEMBER
            If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_UNALL_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            With VSFlexGrid4WorkerSort
                For lfor = .Row To .Rows - 1
                    If .TextMatrix(lfor, 0) = "True" Then
                        .TextMatrix(lfor, 0) = "False"
                    Else
                        If lfor - .Row >= 1000 Then MsgBox "最大只能选择1000条记录。", vbOKOnly, "确定": Exit Sub
                        .TextMatrix(lfor, 0) = "True"
                    End If
                Next
            End With
        Case C_SELECT_MEMBER
            If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_SELECT_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            Me.SSComboBoxEx4Company.CheckList = True
            Me.SSComboBoxEx4Employ.CheckList = True
            Me.SSComboBoxEx4Large.CheckList = True
            Me.SSComboBoxEx4Organ.CheckList = True
            Me.SSComboBoxEx4Sex.CheckList = True
            Me.SSComboBoxEx4TechnicalGrade.CheckList = True
            Me.SSComboBoxEx4Useworktype.CheckList = True
            Me.SSComboBoxEx4WorkerType.CheckList = True
            Me.SSComboBoxEx4WorkSortProperty.CheckList = True
            Me.SSComboBoxEx4Small.CheckList = True
            If m_int4search = 1 Then
                frmSplash.Show
                DoEvents
            End If
            m_strSQL = "select emp_name,id_code,case sex when 1 then '男' when 2 then '女' end as sex,T_TEMP_ORGAN_BREAK.FACTORY_ORGAN_NO,T_TEMP_ORGAN_BREAK.COMPANY_ORGAN_NO,T_TEMP_ORGAN_BREAK.LARGE_ORGAN_NO,T_TEMP_ORGAN_BREAK.SAMLL_ORGAN_NO,case t_organ.organ_level when 4 then '总部' when 3 then '厂处级单位' when 2 then '公司级单位' when 1 then '大队级单位' when 0 then '小队级单位' end as organ_level,useworke_type_no,"
            m_strSQL = m_strSQL & " WORKER_TYPE_NO,TECHNICAL_GRADE_NO,case WORK_SORT_PROPERTY when 1 then '技术' when 0 then '非技术' else null end as work_sort_property,"
            m_strSQL = m_strSQL & " case t_worker_sort_message.WORK_TIME when null then null else (cast(T_WORKER_SORT_MESSAGE.WORK_TIME/10000 as varchar(4))+'年'+cast(T_WORKER_SORT_MESSAGE.WORK_TIME%10000/100 as varchar(2))+'月'+cast(T_WORKER_SORT_MESSAGE.WORK_TIME%100 as varchar(2))+'日') end as work_time,"
            m_strSQL = m_strSQL & " CERTIFICATE_CODE,case EMPLOY when 1 then '是' when 2 then '否' else null end as employ,t_worker_sort_message.emp_no,t_worker_sort_message.organ_no "
            m_strSQL = m_strSQL & " from t_worker_sort_message,t_emp_basic,t_organ,T_TEMP_ORGAN_BREAK where "
            m_strSQL = m_strSQL & " t_worker_sort_message.emp_no=t_emp_basic.emp_no and t_worker_sort_message.organ_no=t_emp_basic.organ_no and t_emp_basic.organ_no=t_organ.organ_no " & HaveEmpMark & HaveOrganMark & " and (worker_sort_no=1 or worker_sort_no is null) and t_worker_sort_message.organ_no=T_TEMP_ORGAN_BREAK.ORGAN_NO"
            
            If Trim(Me.Text4EmpName.text) <> "" Then
            m_strSQL = m_strSQL & " and emp_name like '" & Trim(Me.Text4EmpName.text) & "' "
            End If
            If Trim(Me.Text4EmpID.text) <> "" Then
            m_strSQL = m_strSQL & " and id_code like '" & Me.Text4EmpID & "'"
            End If
            If Trim(Me.SSComboBoxEx4Sex.text) <> "" Then
            m_strSQL = m_strSQL & " and sex='" & Me.SSComboBoxEx4Sex.ItemData(Me.SSComboBoxEx4Sex.ListIndex) & "'"
            End If
            If Trim(Me.SSComboBoxEx4Small.text) <> "" Then
            m_strSQL = m_strSQL & " and substring(t_worker_sort_message.organ_no,1," & Len(Me.SSComboBoxEx4Small.ItemData(Me.SSComboBoxEx4Small.ListIndex)) & ") like '" & Me.SSComboBoxEx4Small.ItemData(Me.SSComboBoxEx4Small.ListIndex) & "'"
            ElseIf Trim(Me.SSComboBoxEx4Large.text) <> "" Then
            m_strSQL = m_strSQL & " and substring(t_worker_sort_message.organ_no,1," & Len(Me.SSComboBoxEx4Large.ItemData(Me.SSComboBoxEx4Large.ListIndex)) & ") like '" & Me.SSComboBoxEx4Large.ItemData(Me.SSComboBoxEx4Large.ListIndex) & "'"
            ElseIf Trim(Me.SSComboBoxEx4Company.text) <> "" Then
            m_strSQL = m_strSQL & " and substring(t_worker_sort_message.organ_no,1," & Len(Me.SSComboBoxEx4Company.ItemData(Me.SSComboBoxEx4Company.ListIndex)) & ") like '" & Me.SSComboBoxEx4Company.ItemData(Me.SSComboBoxEx4Company.ListIndex) & "'"
            Else
            m_strSQL = m_strSQL & " and substring(t_worker_sort_message.organ_no,1," & Len(g_str4LoginUnit) & ") like '" & g_str4LoginUnit & "'"
            End If
            If Trim(Me.SSComboBoxEx4Useworktype.text) <> "" Then
            m_strSQL = m_strSQL & " and useworke_type_no ='" & Me.SSComboBoxEx4Useworktype.ItemData(Me.SSComboBoxEx4Useworktype.ListIndex) & "'"
            End If
            If Trim(Me.SSComboBoxEx4WorkerType.text) <> "" Then
            m_strSQL = m_strSQL & " and WORKER_TYPE_NO ='" & Me.SSComboBoxEx4WorkerType.ItemData(Me.SSComboBoxEx4WorkerType.ListIndex) & "'"
            End If
            If Trim(Me.SSComboBoxEx4TechnicalGrade.text) <> "" Then
            m_strSQL = m_strSQL & " and TECHNICAL_GRADE_NO ='" & Me.SSComboBoxEx4TechnicalGrade.ItemData(Me.SSComboBoxEx4TechnicalGrade.ListIndex) & "'"
            End If
            If Trim(Me.SSComboBoxEx4WorkSortProperty.text) <> "" Then
            m_strSQL = m_strSQL & " and WORK_SORT_PROPERTY ='" & Me.SSComboBoxEx4WorkSortProperty.ItemData(Me.SSComboBoxEx4WorkSortProperty.ListIndex) & "'"
            End If
            If Not IsNull(Me.DTPicker4StartWorkTime.Value) And Not IsNull(Me.DTPicker4EndWorkTime.Value) Then
            m_strSQL = m_strSQL & " and t_worker_sort_message.WORK_TIME >" & ConvertDate2Int(Me.DTPicker4StartWorkTime.Value) & " and t_worker_sort_message.work_time<" & ConvertDate2Int(Me.DTPicker4EndWorkTime.Value)
            End If
            If Not IsNull(Me.DTPicker4StartWorkTime.Value) Then
            m_strSQL = m_strSQL & " and t_worker_sort_message.WORK_TIME >" & ConvertDate2Int(Me.DTPicker4StartWorkTime.Value)
            End If
            If Not IsNull(Me.DTPicker4EndWorkTime.Value) Then
            m_strSQL = m_strSQL & " and t_worker_sort_message.work_time<" & ConvertDate2Int(Me.DTPicker4EndWorkTime.Value)
            End If
            If Trim(Me.Text4CertificateCode.text) <> "" Then
            m_strSQL = m_strSQL & " and CERTIFICATE_CODE='" & Me.Text4CertificateCode.text & "'"
            End If
            If Trim(Me.SSComboBoxEx4Employ.text) <> "" Then
            m_strSQL = m_strSQL & " and Employ='" & Me.SSComboBoxEx4Employ.ItemData(Me.SSComboBoxEx4Employ.ListIndex) & "'"
            End If
        
        
            If m_oRs4frmWorkerSort.State = adStateOpen Then m_oRs4frmWorkerSort.Close
            m_oRs4frmWorkerSort.CursorLocation = adUseClient
            m_oRs4frmWorkerSort.Open m_strSQL, g_oConnection4This, adOpenKeyset, adLockOptimistic
            Set VSFlexGrid4Group.DataSource = m_oRs4frmWorkerSort
            
            Set VSFlexGrid4WorkerSort.DataSource = m_oRs4frmWorkerSort
    
            If m_int4search = 1 Then Unload frmSplash
        Case C_LUMP_MEMBER
            If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_LUMP_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            If VSFlexGrid4WorkerSort.Visible = True Then
                VSFlexGroup1.Visible = True
                VSFlexGrid4WorkerSort.Visible = False
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_LUMP_MEMBER).text = "表格(&L)"
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_SELECT_MEMBER).ForeColor = C_UNUSE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_ALL_MEMBER).ForeColor = C_UNUSE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_UNALL_MEMBER).ForeColor = C_UNUSE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_EXCEL_MEMBER).ForeColor = C_UNUSE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_PRN_MEMBER).ForeColor = C_UNUSE_COLOR
                Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_UPDATE_MEMBER).ForeColor = C_UNUSE_COLOR
                If Len(g_str4LoginUnit) <> C_BUREAUE_LENGTH Then
                    Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_INSERT_MEMBER).ForeColor = C_UNUSE_COLOR
                    Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_DELETE_MEMBER).ForeColor = C_UNUSE_COLOR
                End If
            Else
                VSFlexGroup1.Visible = False
                VSFlexGrid4WorkerSort.Visible = True
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_LUMP_MEMBER).text = "分类汇总(&L)"
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_SELECT_MEMBER).ForeColor = C_USE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_ALL_MEMBER).ForeColor = C_USE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_UNALL_MEMBER).ForeColor = C_USE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_EXCEL_MEMBER).ForeColor = C_USE_COLOR
                Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_PRN_MEMBER).ForeColor = C_USE_COLOR
                Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_UPDATE_MEMBER).ForeColor = C_USE_COLOR
                If Len(g_str4LoginUnit) <> C_BUREAUE_LENGTH Then
                    Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_INSERT_MEMBER).ForeColor = C_USE_COLOR
                    Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_DELETE_MEMBER).ForeColor = C_USE_COLOR
                End If
            End If
        Case C_CLOSE_MEMBER
            Unload Me
        Case C_TO_EXCEL_MEMBER
            If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_EXCEL_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            MousePointer = 11
            ExportExcel m_strSQL, Me.VSFlexGrid4WorkerSort
            MousePointer = 1
        Case C_TO_PRN_MEMBER
            If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_TO_PRN_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            frmPrint.g_str4MainPrint = "工人工种信息"
            Me.VSFlexGrid4WorkerSort.ColHidden(0) = True
            Me.VSFlexGrid4WorkerSort.SaveGrid App.Path & "\2000.txt", flexFileAll
            Me.VSFlexGrid4WorkerSort.ColHidden(0) = False
            frmPrint.Show 1
        End Select
    Case C_SECOND_GROUP
        Select Case ItemClicked.Index
        Case C_DELETE_MEMBER
            If Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_DELETE_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            With Me.VSFlexGrid4WorkerSort
                If .Row <= 0 Then Exit Sub
                If vbYes = MsgBox("确认删除该记录吗?", vbYesNo + vbDefaultButton2, "警告") Then
                    m_strSQL = "delete from t_worker_sort_message where emp_no=" & .TextMatrix(.Row, 16) & " and organ_no = '" & .TextMatrix(.Row, 17) & "'"
                    If ExcuteSQL(m_strSQL) <> 0 Then Exit Sub
                    .RemoveItem .Row
                End If
            End With
        Case C_UPDATE_MEMBER
            If Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_UPDATE_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            With Me.VSFlexGrid4WorkerSort
                g_int4rowstate = 0
                For lfor = 1 To .Rows - 1
                    If .TextMatrix(lfor, 0) = "True" Then
                        g_int4rowstate = g_int4rowstate + 1
                        g_array4WorkerType(1, g_int4rowstate) = .TextMatrix(lfor, 16)
                        g_array4WorkerType(2, g_int4rowstate) = .TextMatrix(lfor, 17)
                    End If
                Next
            End With
            If g_int4rowstate = 0 Then
                MsgBox "请选择至少一条记录!", vbOKOnly, "提示"
                Exit Sub
            End If
            frmSplash.Show
            DoEvents
            g_int4statuse = 1
            frmWorkerSortEdit.Show 1
            frmSplash.Show
            DoEvents
            m_oRs4frmWorkerSort.Requery
            Unload frmSplash
        Case C_INSERT_MEMBER
            If Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_INSERT_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
            g_int4statuse = 0
            frmWorkerSortEdit.Show 1
            frmSplash.Show
            DoEvents
            If m_oRs4frmWorkerSort.State = adStateOpen Then m_oRs4frmWorkerSort.Requery
            Unload frmSplash
        End Select
    End Select
End Sub

⌨️ 快捷键说明

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