📄 frmcadre.frm
字号:
.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) = "技术专业"
.TextMatrix(0, 18) = "任干时间"
.TextMatrix(0, 19) = "聘任情况"
.TextMatrix(0, 20) = "聘任时间"
.TextMatrix(0, 21) = "兼职"
.ColHidden(15) = True
.ColHidden(22) = True
.ColHidden(23) = True
.ColComboList(3) = g_strArray4ColComboList(C_T_ORGAN)
.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_ENGAGE_SPECIALTY)
.ColComboList(8) = g_strArray4ColComboList(C_T_DUTY_SPECIALTY)
.ColComboList(9) = g_strArray4ColComboList(C_T_APPOINTED_TYPE)
.ColComboList(10) = g_strArray4ColComboList(C_T_DUTY)
.ColComboList(11) = g_strArray4ColComboList(C_T_CADRE_SORT)
.ColComboList(12) = g_strArray4ColComboList(C_T_OCCUPATION_SORT)
.ColComboList(13) = g_strArray4ColComboList(C_T_WORK_PROPERTY)
.ColComboList(14) = g_strArray4ColComboList(C_T_DUTY_LEVEL)
.ColWidth(0) = .RowHeight(0)
For lfor = 1 To .Cols - 1
.ColWidth(lfor) = 1200
.ColAlignment(lfor) = flexAlignCenterCenter
Next
For lfor = 1 To .Rows - 1
If .TextMatrix(lfor, 0) = "True" Then .TextMatrix(lfor, 0) = "False"
Next
End With
Me.vsElastic2.Caption = "干部信息(总计" & Me.VSFlexGrid4CadreMessage.Rows - 1 & "条记录)"
End Sub
Private Sub VSFlexGrid4CadreMessage_BeforeDataRefresh(Cancel As Boolean)
VSFlexGrid4CadreMessage.FixedCols = 1
End Sub
Private Sub VSFlexGrid4CadreMessage_BeforeEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
If Col <> 0 Then Cancel = True
End Sub
Private Sub VSFlexGrid4CadreMessage_Click()
With VSFlexGrid4CadreMessage
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 VSFlexGrid4CadreMessage_StartEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
If Col <> 0 Then Cancel = True
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.VSFlexGrid4CadreMessage.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 VSFlexGrid4CadreMessage
'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 VSFlexGrid4CadreMessage
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.SSComboBoxEx4AppointedType.CheckList = True
Me.SSComboBoxEx4CadreSort.CheckList = True
Me.SSComboBoxEx4Company.CheckList = True
Me.SSComboBoxEx4Duty.CheckList = True
Me.SSComboBoxEx4DutyLevel.CheckList = True
Me.SSComboBoxEx4DutySpecialty.CheckList = True
Me.SSComboBoxEx4EngageSpecialty.CheckList = True
Me.SSComboBoxEx4Large.CheckList = True
Me.SSComboBoxEx4Organ.CheckList = True
Me.SSComboBoxEx4Small.CheckList = True
Me.SSComboBoxEx4TechnicalDuty.CheckList = True
Me.SSComboBoxEx4WorkProperty.CheckList = True
If m_l4Splash Then
frmSplash.Show
DoEvents
End If
m_strSQL = "select EMP_NAME,case organ_level when null then ' ' when 0 then '小队级' when 1 then '大队级' when 2 then '公司级' when 3 then '厂处级' end " _
& ",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,T_CADRE.ENGAGE_SPECIALTY_NO,T_CADRE.DUTY_SPECIALTY_NO,APPOINTED_TYPE_NO,T_CADRE.DUTY_NO,CADRE_SORT_No,OCCUPATION_SORT_NO,WORK_PROPERTY_NO,DUTY_LEVEL_NO, TECHNICAL_DUTY_No, " _
& " T_CADRE.STATION_NAME,T_CADRE.TECHNICAL_SPECIALTY, case len(APPOINTED_TIME) when 1 then '' when 4 then cast(APPOINTED_TIME as varchar(4))+'年' when 6 then (cast(APPOINTED_TIME /100 as varchar(4))+'年'+cast(APPOINTED_TIME /10000 as varchar(2))+'月') else (cast(APPOINTED_TIME /10000 as varchar(4))+'年'+cast(APPOINTED_TIME%10000/100 as varchar(2))+'月') end," _
& " T_CADRE.APPOINTER_INSTANCE, case len(EMPLOYED_TIME) when 1 then '' when 4 then cast(EMPLOYED_TIME as varchar(4))+'年' when 6 then (cast(EMPLOYED_TIME /100 as varchar(4))+'年'+cast(EMPLOYED_TIME /10000 as varchar(2))+'月') else (cast(EMPLOYED_TIME /10000 as varchar(4))+'年'+cast(EMPLOYED_TIME%10000/100 as varchar(2))+'月') end," _
& " T_CADRE.PLURALITY,T_CADRE.EMP_NO,T_CADRE.ORGAN_NO" _
& " from T_CADRE,T_EMP_BASIC,T_ORGAN,T_TEMP_ORGAN_BREAK where T_EMP_BASIC.EMP_NO=T_CADRE.EMP_NO and T_EMP_BASIC.ORGAN_NO=T_CADRE.ORGAN_NO and T_ORGAN.ORGAN_NO=T_CADRE.ORGAN_NO " _
& HaveEmpMark & " and T_CADRE.ORGAN_NO=T_TEMP_ORGAN_BREAK.ORGAN_NO"
If Trim(Text4EmpName.text) <> "" Then m_strSQL = m_strSQL & " and EMP_NAME like '%" & Text4EmpName.text & "%'"
If Trim(Text4EmpID.text) <> "" Then m_strSQL = m_strSQL & " and id_code like '" & Me.Text4EmpID.text & "'"
If Trim(SSComboBoxEx4Small.text) <> "" Then
SSComboBoxEx4Small.CheckList = True
m_strSQL = m_strSQL & " and T_ORGAN.organ_no like '" & Me.SSComboBoxEx4Small.ItemData(Me.SSComboBoxEx4Small.ListIndex) & "%'"
Else
If Trim(SSComboBoxEx4Large.text) <> "" Then
SSComboBoxEx4Large.CheckList = True
m_strSQL = m_strSQL & " and T_ORGAN.organ_no like '" & Me.SSComboBoxEx4Large.ItemData(Me.SSComboBoxEx4Large.ListIndex) & "%'"
Else
If Trim(SSComboBoxEx4Company.text) <> "" Then
SSComboBoxEx4Company.CheckList = True
m_strSQL = m_strSQL & " and T_ORGAN.organ_no like '" & Me.SSComboBoxEx4Company.ItemData(Me.SSComboBoxEx4Company.ListIndex) & "%'"
Else
SSComboBoxEx4Organ.CheckList = True
If Trim(SSComboBoxEx4Organ.text) <> "" Then m_strSQL = m_strSQL & " and T_ORGAN.organ_no like '" & Me.SSComboBoxEx4Organ.ItemData(Me.SSComboBoxEx4Organ.ListIndex) & "%'"
End If
End If
End If
If Trim(SSComboBoxEx4EngageSpecialty.text) <> "" Then
SSComboBoxEx4EngageSpecialty.CheckList = True
m_strSQL = m_strSQL & " and ENGAGE_SPECIALTY_NO=" & SSComboBoxEx4EngageSpecialty.ItemData(SSComboBoxEx4EngageSpecialty.ListIndex)
End If
If Trim(SSComboBoxEx4DutyLevel.text) <> "" Then
SSComboBoxEx4DutyLevel.CheckList = True
m_strSQL = m_strSQL & " and DUTY_LEVEL_NO=" & SSComboBoxEx4DutyLevel.ItemData(SSComboBoxEx4DutyLevel.ListIndex)
End If
If Trim(SSComboBoxEx4TechnicalDuty.text) <> "" Then m_strSQL = m_strSQL & " and TECHNICAL_DUTY_No =" & SSComboBoxEx4TechnicalDuty.ItemData(SSComboBoxEx4TechnicalDuty.ListIndex)
If Trim(Text4TechnicalSpecialty.text) <> "" Then m_strSQL = m_strSQL & " and TECHNICAL_SPECIALTY='" & Text4TechnicalSpecialty.text & "'"
If Trim(SSComboBoxEx4CadreSort.text) <> "" Then m_strSQL = m_strSQL & " and CADRE_SORT_No=" & SSComboBoxEx4CadreSort.ItemData(SSComboBoxEx4CadreSort.ListIndex) & ""
If Trim(SSComboBoxEx4WorkProperty.text) <> "" Then m_strSQL = m_strSQL & " and WORK_PROPERTY_NO=" & SSComboBoxEx4WorkProperty.ItemData(SSComboBoxEx4WorkProperty.ListIndex)
If Trim(Text4StationName.text) <> "" Then m_strSQL = m_strSQL & " and STATION_NAME='" & Text4StationName.text & "'"
If Trim(SSComboBoxEx4AppointedType.text) <> "" Then m_strSQL = m_strSQL & " and APPOINTED_TYPE_NO=" & SSComboBoxEx4AppointedType.ItemData(SSComboBoxEx4AppointedType.ListIndex)
If Trim(SSComboBoxEx4Duty.text) <> "" Then m_strSQL = m_strSQL & " and DUTY_NO=" & SSComboBoxEx4Duty.ItemData(SSComboBoxEx4Duty.ListIndex)
If Trim(SSComboBoxEx4DutySpecialty.text) <> "" Then m_strSQL = m_strSQL & " and DUTY_SPECIALTY_NO=" & SSComboBoxEx4DutySpecialty.ItemData(SSComboBoxEx4DutySpecialty.ListIndex)
If Not IsNull(DTPicker4AppointedTimeStart.Value) Then
m_strSQL = m_strSQL & " and T_CADRE.APPOINTED_TIME >= " & ConvertDate2Int(DTPicker4AppointedTimeStart.Value)
End If
If Not IsNull(DTPicker4AppointedTimeEnd.Value) Then
m_strSQL = m_strSQL & " and T_CADRE.APPOINTED_TIME <=" & ConvertDate2Int(DTPicker4AppointedTimeEnd.Value)
End If
If m_oRs4Cadre.State = adStateOpen Then m_oRs4Cadre.Close
m_oRs4Cadre.CursorLocation = adUseClient
m_oRs4Cadre.Open m_strSQL, g_oConnection4This, adOpenKeyset, adLockOptimistic
Set VSFlexGrid4Group.DataSource = m_oRs4Cadre
Set VSFlexGrid4CadreMessage.DataSource = m_oRs4Cadre
If m_l4Splash Then
Unload frmSplash
End If
Case C_LUMP_MEMBER
If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_LUMP_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
If VSFlexGrid4CadreMessage.Visible = True Then
VSFlexGroup1.Visible = True
VSFlexGrid4CadreMessage.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_FIRST_GROUP).ListItems(C_OTHER_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
VSFlexGrid4CadreMessage.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_FIRST_GROUP).ListItems(C_OTHER_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.VSFlexGrid4CadreMessage
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 = "干部基本信息"
VSFlexGrid4CadreMessage.ColHidden(0) = True
Me.VSFlexGrid4CadreMessage.SaveGrid App.Path & "\2000.txt", flexFileAll
Me.VSFlexGrid4CadreMessage.ColHidden(0) = False
frmPrint.Show 1
Case C_OTHER_MEMBER
If Me.SSListBar4This.Groups(C_FIRST_GROUP).ListItems(C_OTHER_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
If VSFlexGrid4CadreMessage.Row < 1 Then
Exit Sub
Else
g_array4WorkerType(1, 1) = VSFlexGrid4CadreMessage.TextMatrix(VSFlexGrid4CadreMessage.Row, 22)
g_array4WorkerType(2, 1) = VSFlexGrid4CadreMessage.TextMatrix(VSFlexGrid4CadreMessage.Row, 23)
End If
frmCadreCard.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 VSFlexGrid4CadreMessage
If .Row <= 0 Then Exit Sub
If vbYes = MsgBox("确认删除该记录吗?", vbYesNo + vbDefaultButton2, "警告") Then
m_strSQL = "delete from T_CADRE where EMP_NO=" & .TextMatrix(Me.VSFlexGrid4CadreMessage.Row, 22) & " and organ_no='" & .TextMatrix(Me.VSFlexGrid4CadreMessage.Row, 23) & "'"
If ExcuteSQL(m_strSQL) <> 0 Then Exit Sub
.RemoveItem .Row
Me.vsElastic2.Caption = "干部信息(总计" & Me.VSFlexGrid4CadreMessage.Rows - 1 & "条记录)"
End If
End With
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
frmSplash.Show
DoEvents
frmCadreEdit.Show 1
If m_oRs4Cadre.State = adStateOpen Then m_oRs4Cadre.Requery
Case C_UPDATE_MEMBER
If Me.SSListBar4This.Groups(C_SECOND_GROUP).ListItems(C_UPDATE_MEMBER).ForeColor = C_UNUSE_COLOR Then Exit Sub
With VSFlexGrid4CadreMessage
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, 22)
g_array4WorkerType(2, g_int4rowstate) = .TextMatrix(lfor, 23)
End If
Next
If g_int4rowstate = 0 Then
MsgBox "请选择至少一条记录!", vbOKOnly, "提示"
Exit Sub
Else
frmSplash.Show
DoEvents
g_int4statuse = 1
frmCadreEdit.Show 1
If m_oRs4Cadre.State = adStateOpen Then m_oRs4Cadre.Requery
End If
End With
End Select
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -