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

📄 单据查询条件.frm

📁 财务信息管理系统,适合做毕业论文的人使用
💻 FRM
📖 第 1 页 / 共 4 页
字号:
               i = lstItem.ListIndex
               lstItem.RemoveItem lstItem.ListIndex
               lstItem.AddItem l, i - 1
               lstItem.Selected(i - 1) = b
           End If
       Case 1
           If lstItem.ListIndex < lstItem.ListCount - 1 Then
               l = lstItem.List(lstItem.ListIndex)
               b = lstItem.Selected(lstItem.ListIndex)
               i = lstItem.ListIndex
               lstItem.RemoveItem lstItem.ListIndex
               lstItem.AddItem l, i + 1
               lstItem.Selected(i + 1) = b
               lstItem.ListIndex = i + 1
           End If
    End Select
End Sub

Private Sub code_CustKeyDown(Index As Integer, ByVal key As EDITLib.KeyTypes)
    If key = KeyRet Then SendKeys "{TAB}"
End Sub

Private Sub Form_Load()
    Dim objVchDefBI   As New U8FDBso.clsVchDefBI
    Dim IsRootageNode As Integer
    Dim key(43)       As Byte
    Dim objEOS        As U8FDEso.entities
    Dim i             As Integer
    
    Screen.MousePointer = vbHourglass
    'Me.jkrTree.Width = 100
    IsRootageNode = 0
    Set objEOS = objVchDefBI.LoadVchEOs(g_sDataSourceName, True)
    For i = 1 To 43 '43为固定的单据子节点总数
        If i < 11 Then
            key(i) = 10 + 0 + i '10为起点(起点应为11,因为i从1开始,所以这里为10),0为本节点下固定的子节点数
        ElseIf i < 13 Then
            key(i) = 20 + 8 + i - 10 '20为起点,8为本节点下固定的子节点数,10(11-1)是为了与数组索引对齐,以下类推
        ElseIf i < 19 Then
            key(i) = 30 + 4 + i - 12
        ElseIf i < 23 Then
            key(i) = 40 + 6 + i - 18
        ElseIf i < 28 Then
            key(i) = 50 + 5 + i - 22
        ElseIf i < 34 Then
            key(i) = 60 + 4 + i - 27
        ElseIf i < 44 Then
            key(i) = 70 + 0 + i - 33 '这一列为公用单据号71-80
        End If
    Next
    For i = 1 To objEOS.count
        Set m_EO = objEOS.Item(i)
        If m_EO.IsUsed Then
            If left$(Me.EO.VchType, 1) = "1" Then
                If IsRootageNode <= 0 Then IsRootageNode = 1
                If IsRootageNode = 1 Then Me.treStyle.Nodes.Add , , "Contract", "合同": IsRootageNode = 2
                Me.treStyle.Nodes.Add "Contract", tvwChild, "K" & Me.EO.BIType, Me.EO.Caption
            ElseIf left$(Me.EO.VchType, 1) = "2" Then
                If IsRootageNode <= 2 Then IsRootageNode = 3
                If IsRootageNode = 3 Then Me.treStyle.Nodes.Add , , "Settle", "结算": IsRootageNode = 4
                Me.treStyle.Nodes.Add "Settle", tvwChild, "K" & Me.EO.BIType, Me.EO.Caption
            ElseIf left$(Me.EO.VchType, 1) = "3" Then
                If IsRootageNode <= 4 Then IsRootageNode = 5
                If IsRootageNode = 5 Then Me.treStyle.Nodes.Add , , "Fix", "定期存取款": IsRootageNode = 6
                Me.treStyle.Nodes.Add "Fix", tvwChild, "K" & Me.EO.BIType, Me.EO.Caption
            ElseIf left$(Me.EO.VchType, 1) = "4" Then
                If IsRootageNode <= 6 Then IsRootageNode = 7
                If IsRootageNode = 7 Then Me.treStyle.Nodes.Add , , "Loan", "贷还款": IsRootageNode = 8
                Me.treStyle.Nodes.Add "Loan", tvwChild, "K" & Me.EO.BIType, Me.EO.Caption
            ElseIf left$(Me.EO.VchType, 1) = "5" Then
                If IsRootageNode <= 8 Then IsRootageNode = 9
                If IsRootageNode = 9 Then Me.treStyle.Nodes.Add , , "Accrual", "利息": IsRootageNode = 10
                Me.treStyle.Nodes.Add "Accrual", tvwChild, "K" & Me.EO.BIType, Me.EO.Caption
            ElseIf left$(Me.EO.VchType, 1) = "6" Then
                If IsRootageNode <= 10 Then IsRootageNode = 11
                If IsRootageNode = 11 Then Me.treStyle.Nodes.Add , , "Else", "其它": IsRootageNode = 12
                Me.treStyle.Nodes.Add "Else", tvwChild, "K" & Me.EO.BIType, Me.EO.Caption
            End If
        End If
        
        '如果单据号已经使用,设置为0
        If CInt(Me.EO.BIType) >= 11 And CInt(Me.EO.BIType) <= 20 Then
            key(Me.EO.BIType - (20 - 10)) = 0
        End If
        If CInt(Me.EO.BIType) >= 29 And CInt(Me.EO.BIType) <= 30 Then
            key(Me.EO.BIType - (30 - 12)) = 0
        End If
        If CInt(Me.EO.BIType) >= 35 And CInt(Me.EO.BIType) <= 40 Then
            key(Me.EO.BIType - (40 - 18)) = 0
        End If
        If CInt(Me.EO.BIType) >= 47 And CInt(Me.EO.BIType) <= 50 Then
            key(Me.EO.BIType - (50 - 22)) = 0
        End If
        If CInt(Me.EO.BIType) >= 56 And CInt(Me.EO.BIType) <= 60 Then
            key(Me.EO.BIType - (60 - 27)) = 0
        End If
        If CInt(Me.EO.BIType) >= 65 And CInt(Me.EO.BIType) <= 70 Then
            key(Me.EO.BIType - (70 - 33)) = 0
        End If
        If CInt(Me.EO.BIType) >= 71 And CInt(Me.EO.BIType) <= 80 Then
            key(Me.EO.BIType - (80 - 43)) = 0
        End If
    Next

    Set objEOS = Nothing
    Set objVchDefBI = Nothing
    
    Me.treStyle.LineStyle = tvwRootLines
    Me.treStyle.Style = tvwTreelinesPlusMinusPictureText
    Me.treStyle.LabelEdit = tvwManual
    
    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 i

    Me.treStyle.Nodes(2).Selected = True
    If NodeKey = 0 Then NodeKey = mID(Me.treStyle.SelectedItem.key, 2)
    Me.treStyle.Nodes(2).Parent.Expanded = False
    Me.treStyle.Nodes("K" & NodeKey).Selected = True
    
    Dim objDataMgr As New U8FDMgr.DataManager
    Set EO = objDataMgr.LoadEOMetaData(g_sDataSourceName, NodeKey)
    Set objDataMgr = Nothing
    
    Dim QryFldSqcSelect() As String
    Dim QryFldSqcUnSel()  As String
    Dim QryFldOrderBy(3)  As String
    Dim Index             As Integer
    
    ReDim Preserve QryFldSqcSelect(EO.Fields.count)
    ReDim Preserve QryFldSqcUnSel(EO.Fields.count)
    
    For i = 1 To EO.Fields.count
        If EO.Fields(i).IsUsed And EO.Fields(i).EditProp <> U8FDEso.esoNotVisible And EO.Fields(i).DataType <> U8FDEso.esoLabel Then
         If EO.Fields(i).Name <> "capitalmoney_name" And EO.Fields(i).Name <> "capitaltrymoney_name" And EO.Fields(i).Name <> "capitalpassmoney_name" Then
            If EO.Fields(i).QryFldSqc > 0 Then
                QryFldSqcSelect(EO.Fields(i).QryFldSqc) = EO.Fields(i).Name
            Else
                Index = Index + 1
                QryFldSqcUnSel(Index) = EO.Fields(i).Name
            End If
            If EO.Fields(i).RefFldSqc > 0 Then
                QryFldOrderBy(EO.Fields(i).RefFldSqc) = EO.Fields(i).Caption & String(100, " ") & "&" & EO.Fields(i).Name
            End If
         End If
        End If
    Next
    
    For i = 1 To UBound(QryFldSqcSelect)
        If Not IsNull(QryFldSqcSelect(i)) And QryFldSqcSelect(i) <> "" Then
            lstItem.AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
            lstItem.Selected(lstItem.ListCount - 1) = True
            cmbOrder(0).AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
            cmbOrder(1).AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
            cmbOrder(2).AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
        End If
    Next
    
    For i = 1 To UBound(QryFldSqcUnSel)
        If Not IsNull(QryFldSqcUnSel(i)) And QryFldSqcUnSel(i) <> "" Then
            lstItem.AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
            cmbOrder(0).AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
            cmbOrder(1).AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
            cmbOrder(2).AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
        End If
    Next
    
    If QryFldOrderBy(1) = "" Then
        cmbOrder(0).ListIndex = 0
    Else
        cmbOrder(0).Text = QryFldOrderBy(1)
    End If
    If QryFldOrderBy(2) = "" Then
        cmbOrder(1).ListIndex = 0
    Else
        cmbOrder(1).Text = QryFldOrderBy(2)
    End If
    If QryFldOrderBy(3) = "" Then
        cmbOrder(2).ListIndex = 0
    Else
        cmbOrder(2).Text = QryFldOrderBy(3)
    End If
    
    If frmVchQueryFilter.bVchInput = True Then
        Me.stabFilter.TabVisible(1) = False
    Else
        Me.stabFilter.TabVisible(1) = True
    End If
    
    Screen.MousePointer = vbDefault
End Sub

Private Sub money_CustKeyDown(Index As Integer, ByVal key As EDITLib.KeyTypes)
    If key = KeyRet Then SendKeys "{TAB}"
End Sub

Private Sub naturalmoney_CustKeyDown(Index As Integer, ByVal key As EDITLib.KeyTypes)
    If key = KeyRet Then SendKeys "{TAB}"
End Sub

Private Sub treStyle_Collapse(ByVal Node As MSComctlLib.Node)
    Node.Image = 1
End Sub

Private Sub treStyle_Expand(ByVal Node As MSComctlLib.Node)
    Node.Image = 2
End Sub

Private Sub treStyle_LostFocus()
    Me.treStyle.Nodes("K" & NodeKey).Selected = True
End Sub

Private Sub treStyle_NodeClick(ByVal Node As MSComctlLib.Node)
    If IsNumeric(mID(Node.key, 2)) And NodeKey <> mID(Node.key, 2) Then
        NodeKey = mID(Node.key, 2)
        
        Dim i          As Integer
        Dim objDataMgr As New U8FDMgr.DataManager
        Set EO = objDataMgr.LoadEOMetaData(g_sDataSourceName, NodeKey)
        Set objDataMgr = Nothing
        
        Dim QryFldSqcSelect() As String
        Dim QryFldSqcUnSel()  As String
        Dim QryFldOrderBy(3)  As String
        Dim Index             As Integer
        
        ReDim Preserve QryFldSqcSelect(EO.Fields.count)
        ReDim Preserve QryFldSqcUnSel(EO.Fields.count)
        
        Me.cmbOrder(0).clear: Me.cmbOrder(1).clear: Me.cmbOrder(2).clear: Me.lstItem.clear
        For i = 1 To EO.Fields.count
            If EO.Fields(i).IsUsed And EO.Fields(i).EditProp <> U8FDEso.esoNotVisible And EO.Fields(i).DataType <> U8FDEso.esoLabel Then
             If EO.Fields(i).Name <> "capitalmoney_name" And EO.Fields(i).Name <> "capitaltrymoney_name" And EO.Fields(i).Name <> "capitalpassmoney_name" Then
                If EO.Fields(i).QryFldSqc > 0 Then
                    QryFldSqcSelect(EO.Fields(i).QryFldSqc) = EO.Fields(i).Name
                Else
                    Index = Index + 1
                    QryFldSqcUnSel(Index) = EO.Fields(i).Name
                End If
                If EO.Fields(i).RefFldSqc > 0 Then
                    QryFldOrderBy(EO.Fields(i).RefFldSqc) = EO.Fields(i).Caption & String(100, " ") & "&" & EO.Fields(i).Name
                End If
             End If
            End If
        Next
        
        For i = 1 To UBound(QryFldSqcSelect)
            If Not IsNull(QryFldSqcSelect(i)) And QryFldSqcSelect(i) <> "" Then
                lstItem.AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
                lstItem.Selected(lstItem.ListCount - 1) = True
                cmbOrder(0).AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
                cmbOrder(1).AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
                cmbOrder(2).AddItem EO(QryFldSqcSelect(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcSelect(i)).Name
            End If
        Next
        
        For i = 1 To UBound(QryFldSqcUnSel)
            If Not IsNull(QryFldSqcUnSel(i)) And QryFldSqcUnSel(i) <> "" Then
                lstItem.AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
                cmbOrder(0).AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
                cmbOrder(1).AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
                cmbOrder(2).AddItem EO(QryFldSqcUnSel(i)).Caption & String(100, " ") & "&" & EO(QryFldSqcUnSel(i)).Name
            End If
        Next
        
        If QryFldOrderBy(1) = "" Then
            cmbOrder(0).ListIndex = 0
        Else
            cmbOrder(0).Text = QryFldOrderBy(1)
        End If
        If QryFldOrderBy(2) = "" Then
            cmbOrder(1).ListIndex = 0
        Else
            cmbOrder(1).Text = QryFldOrderBy(2)
        End If
        If QryFldOrderBy(3) = "" Then
            cmbOrder(2).ListIndex = 0
        Else
            cmbOrder(2).Text = QryFldOrderBy(3)
        End If
    Else
        Me.treStyle.Nodes("K" & NodeKey).Selected = True
    End If
End Sub

Private Sub RefCmd1_Initialize()
   RefCmd1.InitSys 0, dbsZJ
   RefCmd1.InitSys 1, accdef_code
End Sub

Private Sub RefCmd1_RefCancel()
   accdef_code.SetFocus
End Sub

Private Sub RefCmd1_RefOK(code As String)
   accdef_code = code
   accdef_code.SetFocus
End Sub


⌨️ 快捷键说明

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