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

📄 frmusu_kmhelp.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
' 返回窗体调用的单个科目代码和名称
Public Property Get SubjectName() As String
    SubjectName = m_SubjectName
End Property

Public Property Get SubjectCode() As String
    SubjectCode = m_SubjectCode
End Property

Public Property Let SubjectCode(ByVal s As String)
    m_SubjectCode = s
End Property

Private Sub cmdCancel_Click()
    m_SubjectCode = ""
    Valid = False
    Me.Hide
End Sub

Private Sub cmdFilter_Click()
    Dim i As Integer
    MousePointer = vbHourglass
    For i = 1 To Iwatch
        tvwKm(i).Nodes.Clear
        loadflag(i - 1) = False
    Next i
    clsOnekjkm.LoadAllRoot tvwKm(tabKmSelect.SelectedItem.Index), tabKmSelect.Tabs(tabKmSelect.SelectedItem.Index), FltCon, False
    tvwKm(tabKmSelect.SelectedItem.Index).Nodes("R").Selected = True
    tvwKm(tabKmSelect.SelectedItem.Index).Nodes("R").Expanded = True
    loadflag(tabKmSelect.SelectedItem.Index - 1) = True
    MousePointer = vbDefault
End Sub

Private Sub cmdOk_Click()
    Dim pos As Long
   
    Valid = True
    If Not MultiSelNode Then
        With tvwKm(tabKmSelect.SelectedItem.Index)
            If .SelectedItem.Key <> "R" Then
                If .SelectedItem.Parent.Key <> "R" Then
                    pos = InStr(1, .SelectedItem.text, "=") + 1
                    m_SubjectCode = Left(.SelectedItem.text, pos - 2)
                    m_SubjectName = Mid(.SelectedItem.text, pos)
                Else
                    Exit Sub
                End If
            Else
                Exit Sub
            End If
            '判断是否末级科目
            If (Not m_bSelAll) And .SelectedItem.Children <> 0 Then
                MsgBox "不是明细级科目,请重新选择!", vbInformation
                Exit Sub
            End If
        End With
    End If
    Me.Hide
End Sub

Private Sub Form_Activate()
    Dim Node As Node
    
    For Each Node In tvwKm(1).Nodes
        Node.Checked = False
    Next Node
    Set Node = Nothing
End Sub

Private Sub Form_Load()
    Dim i As Integer
    Dim iCount As Integer
    
    MousePointer = vbHourglass
    Set rstTrade = New ADODB.Recordset
    Set clsOnekjkm = New clsDepart
'    m_bSelChild = False
    rstTrade.CursorLocation = adUseClient
    
    rstTrade.Open "select classserial,classname,yefx from tSYS_tradecodeclass A,tSYS_Account B" & _
                " where B.AccountID='" & glo.sAccountID & "'and A.tradeID=B.TradeID", _
            gloSys.cnnSYS, adOpenStatic, adLockReadOnly
    
    If rstTrade.RecordCount > 0 Then
        If Not rstTrade.BOF Then rstTrade.MoveFirst
        tabKmSelect.Tabs(1).Caption = rstTrade.Fields(1)
        rstTrade.MoveNext
        Do While Not rstTrade.EOF
            tabKmSelect.Tabs.Add tabKmSelect.Tabs.Count + 1, , rstTrade.Fields(1)
            rstTrade.MoveNext
        Loop
    End If
    If Me.MultiSelNode Then tvwKm(1).Checkboxes = True
    Iwatch = rstTrade.RecordCount
    ReDim loadflag(Iwatch)
    For i = 2 To Iwatch
        Load tvwKm(i)
        clsOnekjkm.LoadAllRoot tvwKm(i), tabKmSelect.Tabs(i), "*", False
        loadflag(i - 1) = True
    Next i
    clsOnekjkm.LoadAllRoot tvwKm(1), tabKmSelect.Tabs(1), "*", False
    loadflag(0) = True
    tabKmSelect.ZOrder 1
    MousePointer = vbDefault

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Dim i As Integer
    
    For i = 2 To Iwatch
        Unload tvwKm(i)
    Next i
    Set clsOnekjkm = Nothing
    rstTrade.Close
    Set rstTrade = Nothing
'    Unload Me
End Sub
' 辅助核算组合条件
'
Private Function FltCon() As String
    Dim sCon As String
    
    MousePointer = vbHourglass
    sCon = ""
    If chkGr.Value = 1 Then
        sCon = " isGrwlhs=-1"
    End If
    If chkKh.Value = 1 Then
        sCon = IIf(sCon = "", " isKhwlhs=-1", sCon & " and isKhwlhs=-1")
    End If
    If chkGys.Value = 1 Then
        sCon = IIf(sCon = "", " isGyswlhs=-1", sCon & " and isGyswlhs=-1")
    End If
    If chkBm.Value = 1 Then
        sCon = IIf(sCon = "", " isBmhs=-1", sCon & " and isBmhs=-1")
    End If
    If chkXm.Value = 1 Then
        sCon = IIf(sCon = "", " isXmhs=-1", sCon & " and isXmhs=-1")
    End If
    
    If g_FLAT = "ORACLE" Then
        If chkSl.Value = 1 Then
            sCon = IIf(sCon = "", " sldw IS NOT NULL", sCon & " and sldw IS NOT NULL")
        End If
        If chkWb.Value = 1 Then
            sCon = IIf(sCon = "", " wbdw IS NOT NULL", sCon & " and wbdw IS NOT NULL")
        End If
    Else
        If chkSl.Value = 1 Then
            sCon = IIf(sCon = "", " sldw<>' ' and (sldw is not null)", sCon & " and sldw<>' ' and (sldw is not null)")
        End If
        If chkWb.Value = 1 Then
            sCon = IIf(sCon = "", " wbdw<>' ' and (wbdw is not null)", sCon & " and wbdw<>' ' and (wbdw is not null)")
        End If
    End If
    
    
    If chkRj.Value = 1 Then
        sCon = IIf(sCon = "", " isrjz=-1", sCon & " and isrjz=-1")
    End If
    If chkYh.Value = 1 Then
        sCon = IIf(sCon = "", " isyhz=-1", sCon & " and isyhz=-1")
    End If
    If chkXj.Value = 1 Then
        sCon = IIf(sCon = "", " isxjllkm=-1", sCon & " and isxjllkm=-1")
    End If
    If sCon = "" Then
        sCon = "*"
    End If
    
    MousePointer = vbDefault
    FltCon = sCon
End Function
Private Sub tabKmSelect_Click()
    Dim iCount As Integer
    Dim j As Integer
    
    MousePointer = vbHourglass
    If loadflag(tabKmSelect.SelectedItem.Index - 1) = False Then
        clsOnekjkm.LoadAllRoot tvwKm(tabKmSelect.SelectedItem.Index), tabKmSelect.Tabs(tabKmSelect.SelectedItem.Index), FltCon, False
        tvwKm(tabKmSelect.SelectedItem.Index).Nodes("R").Selected = True
        tvwKm(tabKmSelect.SelectedItem.Index).Nodes("R").Expanded = True
        loadflag(tabKmSelect.SelectedItem.Index - 1) = True
    End If
    If tvwKm(tabKmSelect.SelectedItem.Index).Nodes.Count > 0 Then tvwKm(tabKmSelect.SelectedItem.Index).Nodes("R").Selected = True
    For j = 1 To Iwatch
        tvwKm(j).Visible = False
    Next j
    tvwKm(tabKmSelect.SelectedItem.Index).Visible = True
    MousePointer = vbDefault
End Sub

Private Sub tvwKm_Collapse(Index As Integer, ByVal Node As MSComctlLib.Node)
    tvwKm(tabKmSelect.SelectedItem.Index).Nodes("R").Selected = True
    
End Sub
Private Sub tvwKm_DblClick(Index As Integer)
    Call cmdOk_Click
End Sub
Private Sub tvwKm_Expand(Index As Integer, ByVal Node As MSComctlLib.Node)
    Node.Selected = True
End Sub

Private Sub tvwKm_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If selNode Then
        tvwKm(Index).Nodes(chkCode).Checked = False
        selNode = False
        chkCode = "R"
    End If
End Sub

Private Sub tvwKm_NodeCheck(Index As Integer, ByVal Node As MSComctlLib.Node)
    If Node.Checked And Asc(Left(Trim$("" & Node.text), 1)) < 0 Then
'        MsgBox "类别不可选,请选择科目!", vbInformation
        selNode = True
        chkCode = Node.Key
'    ElseIf (Not m_bSelAll) And Node.Children > 0 And Node.Checked Then
'        MsgBox "非明细级科目!", vbInformation
'        selNode = True
'        chkCode = Node.Key
    
    End If
    If Node.Checked Then selectChildNode Node.Child
End Sub
Private Sub selectChildNode(tNode As MSComctlLib.Node)
If m_bSelChild And bMulSelNode Then
    If tNode Is Nothing Then Exit Sub
    If tNode.Children > 0 Then
        tNode.Checked = True
        selectChildNode tNode.Child
    Else
        tNode.Checked = True
    End If
    Set tNode = tNode.Next
    selectChildNode tNode
End If
End Sub

Public Sub LocateSubject(ByVal sCode As String)
Dim i As Integer
Dim B As Boolean
Dim tNode As Node
B = False
For i = 1 To Iwatch
    B = IsExitNodeInTreeView("k" + sCode, tvwKm(i))
    If B = True Then Exit For
Next
If B = True Then
    Set tabKmSelect.SelectedItem = tabKmSelect.Tabs.Item(i)
    tabKmSelect_Click
    Set tNode = tvwKm(i).Nodes("k" + sCode)
    While Trim$(tNode.Key) <> "R"
        tNode.Expanded = True
        Set tNode = tNode.Parent
    Wend
    tvwKm(i).Nodes("k" + sCode).Selected = True
End If
End Sub

⌨️ 快捷键说明

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