📄 frmusu_kmhelp.frm
字号:
' 返回窗体调用的单个科目代码和名称
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 + -