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

📄 单位定义.frm

📁 财务信息管理系统,适合做毕业论文的人使用
💻 FRM
📖 第 1 页 / 共 3 页
字号:
    
    If Len(Me.treStyle.SelectedItem.key) = 2 Then
        MsgBox "不能删除单位定义类别", vbInformation + vbOKOnly
        Exit Sub
    End If
    
    If MsgBox("真的要删除当前记录吗?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
    
    '----删除当前记录
    If objAccUnitBI.Delete(g_sDataSourceName, m_EO, m_conBIStyle) Then
        Dim NodeTemp As String
        If NodeKey = Me.treStyle.Nodes(NodeKey).LastSibling.key Then
            If NodeKey = Me.treStyle.Nodes(NodeKey).FirstSibling.key Then
                NodeTemp = Me.treStyle.Nodes(NodeKey).Parent.key
            Else
                NodeTemp = Me.treStyle.Nodes(NodeKey).Previous.key
            End If
        Else
            NodeTemp = Me.treStyle.Nodes(NodeKey).Next.key
        End If
        
        Me.treStyle.Nodes.Remove NodeKey
        NodeKey = NodeTemp
        Me.treStyle.Nodes(NodeKey).Selected = True
        If Me.treStyle.Nodes(NodeKey).children = 0 Then Me.treStyle.Nodes(NodeKey).Image = 3
        
        Dim objOID As New U8FDEso.OIDObject
        
        '----移动到下一条记录
        objOID = mID(NodeKey, 3)
        Set EO = objAccUnitBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, objOID)
        Set objOID = Nothing
        
        SetUI
    Else
        MsgBox "删除没有成功!"
    End If
    
    Set objAccUnitBI = Nothing

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Private Sub CancelDo()
    If Not m_EditStatus Then
        If MsgBox("真的要取消当前操作吗?", vbQuestion + vbYesNo, g_conSysName) = vbNo Then Exit Sub
    End If
    
    Dim objAccUnitBI As New U8FDBso.clsAccUnitBI
    Dim objLockMgr   As New U8FDMgr.LockManager
        
    On Error GoTo lblHandle
    '----State 若为 esoEdit, 解锁
    If m_EO.State = U8FDEso.esoEdit Then
        objLockMgr.UnlockIt g_sDataSourceName, m_EO.OID
    End If
    Set objLockMgr = Nothing
    
    '----恢复原实体对象
    If Not m_OldEO Is Nothing Then
        Set m_EO = m_OldEO.Clone(U8FDEso.esoStructureAndData)
    Else
        Set m_EO = objAccUnitBI.Init(g_sDataSourceName, m_conBIStyle)
    End If
    Set objAccUnitBI = Nothing
    
    '----设置界面
    SetUI
    
    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Private Function Save()
    Dim objAccUnitBI As New U8FDBso.clsAccUnitBI
    Dim objLockMgr   As New U8FDMgr.LockManager
    
    On Error GoTo lblHandle
    
    m_EO("accunit_code") = Me.txtCode.Text
    m_EO("accunit_name") = Me.txtName.Text
    m_EO("digest") = Me.txtDigest.Text
    m_EO("type_flag") = Me.cboType.ListIndex
    
    '----实体对象验证
    If Not m_EO.Validate Then Exit Function
    
    '----调用业务对象并保存
    If objAccUnitBI.Save(g_sDataSourceName, m_EO, m_conBIStyle) = False Then Exit Function
    Set objAccUnitBI = Nothing
    
    '----解除锁定
    If m_EO.State = U8FDEso.esoEdit Then
        objLockMgr.UnlockIt g_sDataSourceName, m_EO.OID
        Set objLockMgr = Nothing
    End If
    
    If m_EO.State = U8FDEso.esoAddNew Then
        NodeKey = "K" & Me.cboType.ListIndex & m_EO("accunit_id")
        Me.treStyle.Nodes.Add "K" & Me.cboType.ListIndex, tvwChild, NodeKey, Me.txtCode.Text
        
        Me.treStyle.Nodes(NodeKey).Image = 3
        Me.treStyle.Nodes(NodeKey).Selected = True
        Me.treStyle.Nodes(NodeKey).Expanded = True
    ElseIf m_EO.State = U8FDEso.esoEdit Then
        Me.treStyle.Nodes.Remove NodeKey
        NodeKey = "K" & Me.cboType.ListIndex & m_EO("accunit_id")
        Me.treStyle.Nodes.Add "K" & Me.cboType.ListIndex, tvwChild, NodeKey, Me.txtCode.Text
        
        Me.treStyle.Nodes(NodeKey).Image = 3
        Me.treStyle.Nodes(NodeKey).Selected = True
        Me.treStyle.Nodes(NodeKey).Expanded = True
    End If
    
    m_EO.State = U8FDEso.esoInstance
    
    '----释放任务
    
    '----设置界面
    Me.treStyle.Nodes(NodeKey).Text = "【" & Me.txtCode.Text & "】" & Me.txtName.Text
    SetUI
    
    Save = True
    
    Exit Function
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Function

Private Sub RefreshUI()
    Dim objAccUnitBI As New U8FDBso.clsAccUnitBI
    Dim objEO        As U8FDEso.EntityObject
    Dim objOID       As New U8FDEso.OIDObject
    Dim NodeFlag     As Boolean
    Dim UnitCode     As String
    
    UnitCode = Me.txtCode.Text
    
    Me.treStyle.Nodes.clear
    
    Me.treStyle.Nodes.Add , , "K0", "个人"
    Me.treStyle.Nodes.Add , , "K1", "部门"
    Me.treStyle.Nodes.Add , , "K2", "银行"
    Me.treStyle.Nodes.Add , , "K3", "客户"
    Me.treStyle.Nodes.Add , , "K4", "供应商"
    Me.treStyle.Nodes.Add , , "K5", "项目"
    
    Me.treStyle.LineStyle = tvwRootLines
    Me.treStyle.Style = tvwTreelinesPlusMinusPictureText
    Me.treStyle.LabelEdit = tvwManual
    Me.treStyle.Indentation = 300

    Set objEO = objAccUnitBI.MoveTo(g_sDataSourceName, U8FDEso.esoFirst, m_conBIStyle)
    
    Dim i As Integer, RecordCount As Long
    
    RecordCount = objAccUnitBI.RecordCount(g_sDataSourceName, objEO)
    
    For i = 1 To RecordCount
        Me.treStyle.Nodes.Add "K" & objEO("type_flag"), tvwChild, "K" & objEO("type_flag") & objEO("accunit_id"), "【" & objEO("accunit_code") & "】" & objEO("accunit_name")
        If NodeKey = "K" & objEO("type_flag") & objEO("accunit_id") Then NodeFlag = True
        objOID = objEO("accunit_id")
        Set objEO = objAccUnitBI.MoveTo(g_sDataSourceName, U8FDEso.esoNext, m_conBIStyle, objOID)
    Next
    
    For i = 1 To treStyle.Nodes.count
        If treStyle.Nodes(i).children > 0 Then
            treStyle.Nodes(i).Image = 1
        Else
            treStyle.Nodes(i).Image = 3
        End If
    Next
    
    If NodeFlag Then
        Me.treStyle.Nodes(NodeKey).Selected = True
    Else
        MsgBox "【" & UnitCode & "】被删除了!"
        If Me.treStyle.Nodes(mID(NodeKey, 1, 2)).children > 0 Then
            NodeKey = Me.treStyle.Nodes(mID(NodeKey, 1, 2)).child.key
            Me.treStyle.Nodes(NodeKey).Selected = True
            Me.treStyle.Nodes(NodeKey).Expanded = True
        Else
            NodeKey = mID(NodeKey, 1, 2)
            Me.treStyle.Nodes(NodeKey).Selected = True
            Me.treStyle.Nodes(NodeKey).Image = 3
        End If
        objOID = mID(NodeKey, 3)
        Set EO = objAccUnitBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, objOID)
    End If
    
    Set objAccUnitBI = Nothing
    Set objOID = Nothing
    Set objEO = Nothing
    
    SetUI
End Sub

Public Sub SetUI()
    Dim objAccUnitBI As New U8FDBso.clsAccUnitBI

    With m_EO
        Me.txtCode.Property = SwitchDataType(EO.Fields("accunit_code").DataType)
        Me.txtCode.MaxLength = EO.Fields("accunit_code").length
        
        Me.txtName.Property = SwitchDataType(EO.Fields("accunit_name").DataType)
        Me.txtName.MaxLength = EO.Fields("accunit_name").length
        
        Me.txtDigest.Property = SwitchDataType(EO.Fields("digest").DataType)
        Me.txtDigest.MaxLength = EO.Fields("digest").length
        
        If m_EO.State = U8FDEso.esoInitialized Then
            Me.cboType.ListIndex = mID(Me.treStyle.SelectedItem.key, 2, 1)
            Me.txtCode.Text = ""
            Me.txtName.Text = ""
            Me.txtDigest.Text = ""
        ElseIf m_EO.State = U8FDEso.esoAddNew Then
            Me.cboType.ListIndex = mID(Me.treStyle.SelectedItem.key, 2, 1)
            Me.txtCode.Text = ""
            Me.txtName.Text = ""
            Me.txtDigest.Text = ""
        Else
            Me.cboType.ListIndex = IIf(IsNull(.Fields("type_flag")), "", .Fields("type_flag"))
            Me.txtCode.Text = IIf(IsNull(.Fields("accunit_code")), "", .Fields("accunit_code"))
            Me.txtName.Text = IIf(IsNull(.Fields("accunit_name")), "", .Fields("accunit_name"))
            Me.txtDigest.Text = IIf(IsNull(.Fields("digest")), "", .Fields("digest"))
        End If
    End With
    
    '----Set Status
    Select Case EO.State
        Case U8FDEso.esoAddNew
            Me.tlbAction.Buttons("AddNew").Enabled = False
            Me.tlbAction.Buttons("Edit").Enabled = False
            Me.tlbAction.Buttons("Delete").Enabled = False
            Me.tlbAction.Buttons("Save").Enabled = True
            Me.tlbAction.Buttons("Cancel").Enabled = True
            Me.tlbAction.Buttons("Refresh").Enabled = False
            Me.tlbAction.Buttons("Import").Enabled = False
            Me.tlbAction.Buttons("Find").Enabled = False
            Me.picView.Enabled = True
            Me.ufgAccUnit.Visible = False
        Case U8FDEso.esoEdit
            Me.tlbAction.Buttons("AddNew").Enabled = False
            Me.tlbAction.Buttons("Edit").Enabled = False
            Me.tlbAction.Buttons("Delete").Enabled = False
            Me.tlbAction.Buttons("Save").Enabled = True
            Me.tlbAction.Buttons("Cancel").Enabled = True
            Me.tlbAction.Buttons("Refresh").Enabled = False
            Me.tlbAction.Buttons("Import").Enabled = False
            Me.tlbAction.Buttons("Find").Enabled = False
            Me.picView.Enabled = True
        Case U8FDEso.esoInstance
            Me.tlbAction.Buttons("AddNew").Enabled = True
            Me.tlbAction.Buttons("Edit").Enabled = True
            If Len(Me.treStyle.SelectedItem.key) > 2 Then
                If objAccUnitBI.IsUsed(g_sDataSourceName, mID(Me.treStyle.SelectedItem.key, 3)) Then
                    Me.tlbAction.Buttons("Delete").Enabled = False
                Else
                    Me.tlbAction.Buttons("Delete").Enabled = True
                End If
            Else
                Me.tlbAction.Buttons("Delete").Enabled = False
            End If
            Me.tlbAction.Buttons("Save").Enabled = False
            Me.tlbAction.Buttons("Cancel").Enabled = False
            Me.tlbAction.Buttons("Refresh").Enabled = True
            Me.tlbAction.Buttons("Import").Enabled = True
            Me.tlbAction.Buttons("Find").Enabled = True
            Me.picView.Enabled = False
        Case U8FDEso.esoInitialized
            Me.tlbAction.Buttons("AddNew").Enabled = True
            Me.tlbAction.Buttons("Edit").Enabled = False
            Me.tlbAction.Buttons("Delete").Enabled = False
            Me.tlbAction.Buttons("Save").Enabled = False
            Me.tlbAction.Buttons("Cancel").Enabled = False
            Me.tlbAction.Buttons("Refresh").Enabled = False
            Me.tlbAction.Buttons("Import").Enabled = True
            Me.tlbAction.Buttons("Find").Enabled = True
            Me.picView.Enabled = False
            Me.ufgAccUnit.Visible = False
    End Select
    
    If Len(Me.treStyle.SelectedItem.key) > 2 Then
        If objAccUnitBI.IsUsed(g_sDataSourceName, mID(Me.treStyle.SelectedItem.key, 3)) Then
            ufgAccUnit.Visible = True
        Else
            ufgAccUnit.Visible = False
        End If
    Else
        ufgAccUnit.Visible = False
    End If
    
    Set objAccUnitBI = Nothing
    SetTlbStyle Me, False
    ocxCtbTool.RefreshEnable
End Sub

Private Sub txtCode_CustKeyDown(ByVal key As EDITLib.KeyTypes)
    If key = KeyDown Or key = KeyRet Then
        SetEdtTxtFocus Me.txtName
    ElseIf key = KeyUp Then
        SetEdtTxtFocus Me.txtDigest
    End If
End Sub

Private Sub txtDigest_CustKeyDown(ByVal key As EDITLib.KeyTypes)
    If key = KeyDown Or key = KeyRet Then
        SetEdtTxtFocus Me.txtCode
    ElseIf key = KeyUp Then
        SetEdtTxtFocus Me.txtName
    End If
End Sub

Private Sub txtName_CustKeyDown(ByVal key As EDITLib.KeyTypes)
    If key = KeyDown Or key = KeyRet Then
        SetEdtTxtFocus Me.txtDigest
    ElseIf key = KeyUp Then
        SetEdtTxtFocus Me.txtCode
    End If
End Sub

Private Sub PrintData()
    If SetPrintDataStyleXML_flag = False Then SetPrintDataStyleXML
    frmRightMenu.ocxPrint.DoPrint
End Sub

Private Sub PrintView()
    If SetPrintDataStyleXML_flag = False Then SetPrintDataStyleXML
    frmRightMenu.ocxPrint.PrintPreview
End Sub

Private Sub Export()
    If SetPrintDataStyleXML_flag = False Then SetPrintDataStyleXML
    frmRightMenu.ocxPrint.ExportToFile 0, PrintTypeList, PrintSizeList, "", ""
End Sub

Public Sub SetPrintDataStyleXML()
    Dim lRet        As Long
    Dim sData       As String
    Dim sStyle      As String
    Dim sModuleId   As String
    Dim SQL         As String
    
    On Error GoTo lblHandle
    
    SQL = "Select " & EO("accunit_code").SourceField & " as 单位代码," & EO("accunit_name").SourceField & " as 单位名称," & _
          "(Case When " & EO("type_flag").SourceField & "=0 Then '个人' Else " & _
            "(Case When " & EO("type_flag").SourceField & "=1 Then '部门' Else " & _
              "(Case When " & EO("type_flag").SourceField & "=2 Then '银行' Else " & _
                "(Case When " & EO("type_flag").SourceField & "=3 Then '客户' Else " & _
                  "(Case When " & EO("type_flag").SourceField & "=4 Then '供应商' Else '项目' END)" & _
                " END)" & _
              " END)" & _
            " END)" & _
          " END)" & _
          " As 单位类别, " & EO("digest").SourceField & " as 备注" & _
          " From " & EO.SourceTable & _
          " order by " & EO("type_flag").SourceField & "," & EO("accunit_code").SourceField
    
    sData = SetPrintDataXML(SQL, "单位定义", PrintTypeList, PrintSizeList)
    sStyle = SetPrintStyleXML("")
    sModuleId = "Default"
    
    lRet = frmRightMenu.ocxPrint.SetDataStyleXML(sData, False, sStyle, False, sModuleId)
    If lRet <> 0 Then
        MsgBox "打印数据格式设置失败!", vbInformation, App.ProductName
        SetPrintDataStyleXML_flag = False
    End If
    
    SetPrintDataStyleXML_flag = True
    Exit Sub
lblHandle:
    SetPrintDataStyleXML_flag = False
    MsgBox "打印数据格式设置失败!", vbInformation, App.ProductName
End Sub

⌨️ 快捷键说明

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