📄 单据查询条件.frm
字号:
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 + -