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

📄 frmtpjob.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 4 页
字号:
    If chkShowAll.Value = 0 Then
        chkShowAll.Value = 1
    Else
        chkShowAll.Value = 0
    End If
End Sub

'引用编码
Private Sub mclsMainControl_EditUse()
     Select Case sstTypAct.Tab
        Case 0
            UseCode Message.msgJobType, ListID(0)
        Case 1
            UseCode Message.msgJob, ListID(1)
    End Select
    Me.ZOrder 1
End Sub

'搜索
Private Sub mclsMainControl_EditSearch()
    frmTreeFind.ShowFind
End Sub

'刷新
Private Sub mclsMainControl_ToolRefresh()
    Me.MousePointer = vbHourglass
    ToolRefresh sstTypAct.Tab
    Me.MousePointer = vbDefault
 
 
End Sub

Private Sub mclsMainControl_FilePrint()
    Dim myPrintclass As PrintClass
    Set myPrintclass = New PrintClass
    Select Case sstTypAct.Tab
        Case 0
            myPrintclass.PrintList gclsBase.BaseDB, mclsList(sstTypAct.Tab).FlexGrid, 21, Me.Caption & "," & gclsBase.BaseName & "," & gclsBase.OperatorName
        Case 1
            myPrintclass.PrintList gclsBase.BaseDB, mclsList(sstTypAct.Tab).FlexGrid, 64, Me.Caption & "," & gclsBase.BaseName & "," & gclsBase.OperatorName
    End Select
End Sub

Private Sub mclsMainControl_ListEditMenu(ByVal intIndex As Integer)
    Select Case intIndex
    Case 0:
        mclsMainControl_EditEdit
    Case 1:
        mclsMainControl_EditNew
    Case 2:
        mclsMainControl_EditDel
    Case 4:
        mclsMainControl_EditInActive
    Case 5:
        mclsMainControl_EditShowAll
    Case 7:
        mclsMainControl_EditUse
    Case 8:
        mclsMainControl_EditSearch
    Case 9:
        mclsMainControl_EditNotepad
    Case 11:
        mclsMainControl_EditFilter
    Case 12:
        mclsMainControl_EditColumn
    Case 14:
        mclsMainControl_ToolRefresh
    Case 15:
        mclsMainControl_FilePrint
    
    End Select
End Sub

'
' 编辑菜单
'
Private Sub MakeListEditMenu()
    Dim intCnt As Integer
    
    With frmMain
        For intCnt = .mnuListEditMenu.Count - 1 To 1 Step -1
            Unload .mnuListEditMenu(intCnt)
        Next
        
        Utility.CloneMenu .mnuEditEdit, .mnuListEditMenu(0)
        
        Load .mnuListEditMenu(1)
        Utility.CloneMenu .mnuEditNew, .mnuListEditMenu(1)
        
        Load .mnuListEditMenu(2)
        Utility.CloneMenu .mnuEditDel, .mnuListEditMenu(2)
        .mnuListEditMenu(2).Caption = "删除(&D)"
        Load .mnuListEditMenu(3)
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(3)
        
        Load .mnuListEditMenu(4)
        Utility.CloneMenu .mnuEditInActive, .mnuListEditMenu(4)
        .mnuListEditMenu(4).Caption = "停用(&H)"
        Load .mnuListEditMenu(5)
        Utility.CloneMenu .mnuEditShowAll, .mnuListEditMenu(5)
        
        Load .mnuListEditMenu(6)
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(6)
        
        Load .mnuListEditMenu(7)
        Utility.CloneMenu .mnuEditUse, .mnuListEditMenu(7)
        Load .mnuListEditMenu(8)
        Utility.CloneMenu .mnuEditSearch, .mnuListEditMenu(8)
        Load .mnuListEditMenu(9)
        Utility.CloneMenu .mnuEditNotepad, .mnuListEditMenu(9)
        
        Load .mnuListEditMenu(10)
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(10)
        
        Load .mnuListEditMenu(11)
        Utility.CloneMenu .mnuEditFilter, .mnuListEditMenu(11)
        Load .mnuListEditMenu(12)
        Utility.CloneMenu .mnuEditColumn, .mnuListEditMenu(12)
        
        Load .mnuListEditMenu(13)
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(13)
        
        Load .mnuListEditMenu(14)
        Utility.CloneMenu .mnuToolRefresh, .mnuListEditMenu(14)
        Load .mnuListEditMenu(15)
        Utility.CloneMenu .mnuFilePrint, .mnuListEditMenu(15)
    End With
End Sub

'
' 报表菜单
'
Private Sub MakeListReportMenu(Optional ByVal EditObject As String = "")
    Dim intCnt As Integer
    
    With frmMain
        For intCnt = .mnuListReportMenu.Count - 1 To 1 Step -1
            Unload .mnuListReportMenu(intCnt)
        Next
        
'        Utility.CloneMenu .mnuReportQuick, .mnuListReportMenu(0)
'        .mnuListReportMenu(0).Caption = .mnuListReportMenu(0).Caption & EditObject
'
'
'         Load .mnuListReportMenu(1)
'       '  .mnuListReportMenu(1).Caption = "-"
'        ' .mnuListReportMenu(1).Enabled = True
'         '.mnuListReportMenu(1).Visible = True
'          Utility.CloneMenu .mnuEditBar2, .mnuListReportMenu(1)
'
'         Load .mnuListReportMenu(2)
        .mnuListReportMenu(0).Caption = "工程类型一览表(&E)"
        .mnuListReportMenu(0).Enabled = True
        .mnuListReportMenu(0).Visible = True
        
         Load .mnuListReportMenu(1)
        .mnuListReportMenu(1).Caption = "工程核算一览表(&D)"
        .mnuListReportMenu(1).Visible = True
        .mnuListReportMenu(1).Enabled = True
        If sstTypAct.Tab = 0 Then
            .mnuListReportMenu(0).Enabled = True
            .mnuListReportMenu(1).Enabled = False
        Else
            .mnuListReportMenu(0).Enabled = False
            .mnuListReportMenu(1).Enabled = True
        End If
        
    End With
End Sub





Private Sub ToolRefresh(intTab As Integer)
    Dim i As Integer
    Dim strOldText As String
    Dim strOldSort As String
    
    
        '保存当前排序列
        strOldSort = cboFindKind.Text
        strOldText = mclsList(intTab).FlexGrid.TextMatrix(mclsList(intTab).FlexGrid.Row, mclsList(intTab).SortCol)
        mclsList(intTab).SaveListColWidth
        mclsList(intTab).FlexGrid.Redraw = False
        '刷新列表记录
        mclsList(intTab).FlexGrid.Cols = 0
        Set datItem(intTab).Resultset = GetList(intTab)
        If Not datItem(intTab).Resultset.EOF Then datItem(intTab).Resultset.MoveLast
        datItem(intTab).Resultset.Close
       ' Set datItem(intTab).Recordset = Nothing
        '设置FlexGrid列表
        mclsList(intTab).SetFlexGrid
        
        '恢复以前排序列
        cboFindKind.Text = strOldSort
        mclsList(intTab).FlexGrid.Redraw = False
        If mclsList(intTab).FlexGrid.Rows > 1 Then
            txtFind.Text = strOldText
        End If
        If chkShowAll.Value = 0 Then mclsList(intTab).DoShowAll False
        '更新菜单状态
        UpdateMenuStatus
        mclsList(intTab).FlexGrid.Redraw = True
End Sub

Private Sub txtFind_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim intSelLen As Integer
    If KeyCode = 8 Then
        intSelLen = txtFind.SelLength
        If txtFind.SelStart > 0 Then txtFind.SelStart = txtFind.SelStart - 1
        txtFind.SelLength = intSelLen + 1
    End If
End Sub
Private Sub CeaseLower()
    Dim Flage As String
    Dim Code As String
    Dim strOldSortCol As String
    Dim strOldSortText As String
    Dim strSql As String
    Dim intSortCol As Integer
    Dim blnreStore As Boolean
    Dim intResponse As String
    Dim blnRemark As Boolean
    Dim intOldRow As Integer
    blnreStore = False
    
    With mclsList(0).FlexGrid
        strOldSortCol = cboFindKind.Text
        strOldSortText = .TextMatrix(.Row, mclsList(0).SortCol)
        intOldRow = .Row
        blnRemark = ListIsInActive(0)
        For intSortCol = 2 To .FixedCols - 1
            If .TextMatrix(0, intSortCol) = "工程类型编码" Then
                Code = .TextMatrix(.Row, intSortCol)
                Exit For
            End If
        Next intSortCol
        If mclsList(0).ListSet.ColumnOrderType(intSortCol - 1) <> 1 Then
            cboFindKind.Text = "工程类型编码" '排序
            txtFind.Text = Code
            blnreStore = True
        End If
        
        Dim intNewRow As Integer
        If UpdateIsActive(Code, Not blnRemark) Then
            If chkShowAll.Value Then
                If .TextMatrix(.Row, 1) = "" Then
                    .TextMatrix(.Row, 1) = "√"
                Else
                    .TextMatrix(.Row, 1) = ""
                End If
            Else
                .TextMatrix(.Row, 1) = "√"
                .RowHeight(.Row) = 0
              '  mclsList.SetFlexRow
            End If
            Flage = .TextMatrix(.Row, 1)
            If Flage <> "" Then
                intNewRow = .Row + 1
                Code = Code & "-"
                Do
                    If intNewRow > .Rows - 1 Then Exit Do
                    If InStr(1, .TextMatrix(intNewRow, intSortCol), Code) = 0 Then
                         Exit Do
                     Else
                        .TextMatrix(intNewRow, 1) = Flage
                        If chkShowAll.Value <> 1 Then .RowHeight(intNewRow) = 0
                         intNewRow = intNewRow + 1
                     End If
                Loop
    
            Else
                Dim i As Integer
                .TextMatrix(.Row, 1) = Flage
                i = 1
                If .Row < .Rows - 1 Then
                    If .TextMatrix(.Row + 1, intSortCol) Like .TextMatrix(.Row, intSortCol) & "-*" Then
                        intResponse = ShowMsg(Me.hwnd, "是否取消所有下级的停用标记", vbYesNo, Me.Caption)
                        If intResponse = vbYes Then
                            strSql = "UPDATE JobType SET blnIsInActive =  0 WHERE  strJobTypeCode like '" & .TextMatrix(.Row, intSortCol) & "-*'"
                            If gclsBase.ExecSQL(strSql) Then
                                Do Until Not .TextMatrix(.Row + i, intSortCol) Like .TextMatrix(.Row, intSortCol) & "-*"
                                    .TextMatrix(.Row + i, 1) = Flage
                                    If .Row + i = .Rows - 1 Then
                                        Exit Do
                                    Else
                                        i = i + 1
                                    End If
                                Loop
                            End If
                        End If
                    End If
                End If
                If CodePrefix(.TextMatrix(.Row, intSortCol)) <> "" Then
                    Do Until CodePrefix(.TextMatrix(.Row, intSortCol)) = ""
                           ' If .RowHeight(.Row) > 0 Then
                            txtFind.Text = CodePrefix(.TextMatrix(.Row, intSortCol))
                            .TextMatrix(.Row, 1) = Flage
                    Loop
                    
                End If
            End If
            If chkShowAll.Value <> 1 Then mclsList(0).SetFlexRow
            gclsSys.SendMessage CStr(Me.hwnd), Message.msgJobType
        End If
        '恢复旧的排序
        If blnreStore Then
            cboFindKind.Text = strOldSortCol
            txtFind.Text = strOldSortText
        End If
     End With
End Sub

Private Function UpdateIsActive(ByVal strCode As String, ByVal blnIsInActive As Boolean) As Boolean
    Dim strSql As String
    If blnIsInActive Then
        strSql = "UPDATE JobType SET blnIsInActive = " & 1 & " WHERE strJobTypecode='" & strCode & "' Or strJobTypecode like '" & strCode & "-*'"
    Else
        strSql = "UPDATE JobType SET blnIsInActive = " & 0 & " WHERE strJobTypecode  in  ('" & strCode
        Do Until CodePrefix(strCode) = ""
            strCode = CodePrefix(strCode)
            strSql = strSql & "','" & strCode
        Loop
        strSql = strSql & "')"
    End If
    UpdateIsActive = gclsBase.ExecSQL(strSql)
End Function

Private Function CurrCodeName(ByVal intTab As Integer) As String
    Dim strCode As String
    Dim strName As String
    Dim i As Integer
    With mclsList(intTab).FlexGrid
        If .Row > 0 Then
            Select Case intTab
                Case 0
                For i = 0 To mclsList(intTab).ListSet.FixColumns - 1
                    If .TextMatrix(0, 2 + i) = "工程类型编码" Then
                        strCode = .TextMatrix(.Row, 2 + i)
                    ElseIf .TextMatrix(0, i + 2) = "工程类型名称" Then
                        strName = .TextMatrix(.Row, 2 + i)
                    End If
                Next
                Case 1
                For i = 0 To mclsList(intTab).ListSet.FixColumns - 1
                    If .TextMatrix(0, 2 + i) = "工程编码" Then
                        strCode = .TextMatrix(.Row, 2 + i)
                    ElseIf .TextMatrix(0, i + 2) = "工程名称" Then
                        strName = .TextMatrix(.Row, 2 + i)
                    End If
                Next
            End Select
        End If
    End With
    CurrCodeName = Trim(strCode) & " " & Trim(strName)
End Function
Private Function GetCol(ByVal strColName As String) As Integer
    Dim i As Integer
    With mclsList(0).FlexGrid
         For i = 1 To .Cols - 1
             If .TextMatrix(0, i) = strColName Then
                GetCol = i
                Exit For
             End If
         Next
    End With
End Function
Private Function UpDatePreFlage() As Boolean
    Dim i As Integer
    Dim intCol
    Dim strOldSort As String
    Dim strOldCol As String
    Dim strSql As String
    Dim recTemplete As rdoResultset
    Dim strOldCode As String
    With mclsList(0).FlexGrid
        '.Redraw = False
        strOldCol = cboFindKind.Text
        strOldSort = txtFind.Text
        strOldCode = CodePrefix(.TextMatrix(.Row, GetCol("工程类型编码")))
        intCol = GetCol("末级标志")
        If intCol > 0 Then
            strSql = "select blnIsDetail from JobType where strJobTypecode='" & strOldCode & "'"
            Set recTemplete = gclsBase.BaseDB.OpenResultset(strSql, rdOpenForwardOnly)
            If Not recTemplete.EOF Then
                If recTemplete!blnIsDetail Then
                    If mclsList(0).ListSet.ColumnOrderType(GetCol("工程类型编码") - 1) <> 1 Then cboFindKind.Text = "工程类型编码"
                    txtFind.Text = strOldCode 'CodePrefix(.TextMatrix(.Row, GetCol("科目编码")))
                    .TextMatrix(.Row, intCol) = "是"
                End If
            End If
            recTemplete.Close
        End If
        cboFindKind.Text = strOldCol
        cboFindKind.Text = strOldCol
        txtFind.Text = strOldSort
       ' .Redraw = True
    End With
    
End Function

Public Sub BindingResultset()
    Me.Hide
    If sstTypAct.Tab = 0 Then
        sstTypAct_Click 0
    Else
        sstTypAct.Tab = 0
    End If
    Me.Show
    Me.ZOrder 0
End Sub

⌨️ 快捷键说明

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