i-
来自「VB开发的ERP系统」· 代码 · 共 1,236 行 · 第 1/5 页
TXT
1,236 行
End If
'初始化各种值
Bln_Empty = True
Dbl_Qcyete = IIf(IsNull(Rec_Query.Fields("Qcyehj")), 0, Rec_Query.Fields("Qcyehj"))
Dbl_Qcslte = IIf(IsNull(Rec_Query.Fields("Qcslhj")), 0, Rec_Query.Fields("Qcslhj"))
Dbl_Qcwbte = IIf(IsNull(Rec_Query.Fields("Qcwbhj")), 0, Rec_Query.Fields("Qcwbhj"))
Dbl_Jejfhj = IIf(IsNull(Rec_Query.Fields("Mjjehj")), 0, Rec_Query.Fields("Mjjehj"))
Dbl_Jedfhj = IIf(IsNull(Rec_Query.Fields("Mdjehj")), 0, Rec_Query.Fields("Mdjehj"))
Dbl_Sljfhj = IIf(IsNull(Rec_Query.Fields("Mjslhj")), 0, Rec_Query.Fields("Mjslhj"))
Dbl_Sldfhj = IIf(IsNull(Rec_Query.Fields("Mdslhj")), 0, Rec_Query.Fields("Mdslhj"))
Dbl_Wbjfhj = IIf(IsNull(Rec_Query.Fields("Mjwbhj")), 0, Rec_Query.Fields("Mjwbhj"))
Dbl_Wbdfhj = IIf(IsNull(Rec_Query.Fields("Mdwbhj")), 0, Rec_Query.Fields("Mdwbhj"))
'[Begin zjz 2001-06-16 修改无累计数据
Dbl_Jejflj = IIf(IsNull(Rec_Query.Fields("Byjfljjehj")), 0, Rec_Query.Fields("Byjfljjehj"))
Dbl_Jedflj = IIf(IsNull(Rec_Query.Fields("Bydfljjehj")), 0, Rec_Query.Fields("Bydfljjehj"))
Dbl_Sljflj = IIf(IsNull(Rec_Query.Fields("Byjfljslhj")), 0, Rec_Query.Fields("Byjfljslhj"))
Dbl_Sldflj = IIf(IsNull(Rec_Query.Fields("Bydfljslhj")), 0, Rec_Query.Fields("Bydfljslhj"))
Dbl_Wbjflj = IIf(IsNull(Rec_Query.Fields("Byjfljwbhj")), 0, Rec_Query.Fields("Byjfljwbhj"))
Dbl_Wbdflj = IIf(IsNull(Rec_Query.Fields("Bydfljwbhj")), 0, Rec_Query.Fields("Bydfljwbhj"))
'End zjz]
Dbl_Qmyete = Dbl_Qcyete + Dbl_Jejfhj - Dbl_Jedfhj
Dbl_Qmslte = Dbl_Qcslte + Dbl_Sljfhj - Dbl_Sldfhj
Dbl_Qmwbte = Dbl_Qcwbte + Dbl_Wbjfhj - Dbl_Wbdfhj
Str_Ccode = Trim(.Fields("Ccode"))
Str_CclassIndex = Trim(.Fields("Item_Index")) & ""
'添加科目类别和科目编码(目的为了排序)
CxbbGrid.TextMatrix(Jsqte, 0) = Str_CclassIndex + Str_Ccode
CxbbGrid.TextMatrix(Jsqte, 1) = Str_CclassIndex
CxbbGrid.TextMatrix(Jsqte, 2) = .Fields("CodeLevel")
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("Ccode")) '科目编码
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("Cname") & "") '科目名称
'将期初数据写入网格
If Dbl_Qcyete = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "平" '期初方向
If Rec_Query.Fields("EndFlag") And Dbl_Qcslte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = Dbl_Qcslte
End If
If Rec_Query.Fields("EndFlag") And Rec_Query.Fields("ForeignFlag") And Dbl_Qcwbte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Dbl_Qcwbte
End If
Else
If Dbl_Qcyete > 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "借"
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Qcyete
CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = Dbl_Qcyete
If Rec_Query.Fields("EndFlag") And Dbl_Qcslte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = Dbl_Qcslte
End If
If Rec_Query.Fields("EndFlag") And Rec_Query.Fields("ForeignFlag") And Dbl_Qcwbte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Dbl_Qcwbte
End If
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "贷"
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = -Dbl_Qcyete
CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = -Dbl_Qcyete
If Rec_Query.Fields("EndFlag") And Dbl_Qcslte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = -Dbl_Qcslte
End If
If Rec_Query.Fields("EndFlag") And Rec_Query.Fields("ForeignFlag") And Dbl_Qcwbte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = -Dbl_Qcwbte
End If
End If
End If
'将期间合计数据写入网格
If Dbl_Jejfhj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = Dbl_Jejfhj '本期发生.借方
CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = Dbl_Jejfhj '本期借方发生.金额
End If
If Dbl_Jedfhj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Dbl_Jedfhj '本期发生.贷方
CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Dbl_Jedfhj '本期贷方发生.金额
End If
'仅有末级科目才显示数量,外币
If Rec_Query.Fields("EndFlag") Then
If Dbl_Sljfhj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = Dbl_Sljfhj '本期借方发生.数量
End If
If Dbl_Sldfhj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = Dbl_Sldfhj '本期贷方发生.数量
End If
End If
If Rec_Query.Fields("EndFlag") And Rec_Query.Fields("ForeignFlag") Then
If Dbl_Wbjfhj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = Dbl_Wbjfhj '本期借方发生.外币
End If
If Dbl_Wbdfhj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Dbl_Wbdfhj '本期贷方发生.外币
End If
End If
'将截止累计数据写入网格
If Dbl_Jejflj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("017", GridStr(), Szzls)) = Dbl_Jejflj '累计发生.借方
CxbbGrid.TextMatrix(Jsqte, Sydz("021", GridStr(), Szzls)) = Dbl_Jejflj '累计借方发生.金额
End If
If Dbl_Jedflj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("018", GridStr(), Szzls)) = Dbl_Jedflj '累计发生.贷方
CxbbGrid.TextMatrix(Jsqte, Sydz("024", GridStr(), Szzls)) = Dbl_Jedflj '累计贷方发生.金额
End If
'仅有末级科目才显示数量,外币
If Rec_Query.Fields("EndFlag") Then
If Dbl_Sljflj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("019", GridStr(), Szzls)) = Dbl_Sljflj '累计借方发生.数量
End If
If Dbl_Sldflj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("022", GridStr(), Szzls)) = Dbl_Sldflj '累计贷方发生.数量
End If
End If
If Rec_Query.Fields("EndFlag") And Rec_Query.Fields("ForeignFlag") Then
If Dbl_Wbjflj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("020", GridStr(), Szzls)) = Dbl_Wbjflj '累计借方发生.外币
End If
If Dbl_Wbdflj <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("023", GridStr(), Szzls)) = Dbl_Wbdflj '累计贷方发生.外币
End If
End If
'将期末数据写入网格
If Dbl_Qmyete = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("025", GridStr(), Szzls)) = "平" '期初方向
If Rec_Query.Fields("EndFlag") And Dbl_Qmslte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("028", GridStr(), Szzls)) = Dbl_Qmslte
End If
If Rec_Query.Fields("EndFlag") And Dbl_Qmwbte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("029", GridStr(), Szzls)) = Dbl_Qmwbte
End If
Else
If Dbl_Qmyete > 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("025", GridStr(), Szzls)) = "借"
CxbbGrid.TextMatrix(Jsqte, Sydz("026", GridStr(), Szzls)) = Dbl_Qmyete
CxbbGrid.TextMatrix(Jsqte, Sydz("030", GridStr(), Szzls)) = Dbl_Qmyete
If Rec_Query.Fields("EndFlag") And Dbl_Qmslte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("028", GridStr(), Szzls)) = Dbl_Qmslte
End If
If Rec_Query.Fields("EndFlag") And Rec_Query.Fields("ForeignFlag") And Dbl_Qmwbte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("029", GridStr(), Szzls)) = Dbl_Qmwbte
End If
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("025", GridStr(), Szzls)) = "贷"
CxbbGrid.TextMatrix(Jsqte, Sydz("027", GridStr(), Szzls)) = -Dbl_Qmyete
CxbbGrid.TextMatrix(Jsqte, Sydz("030", GridStr(), Szzls)) = -Dbl_Qmyete
If Rec_Query.Fields("EndFlag") And Dbl_Qmslte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("028", GridStr(), Szzls)) = -Dbl_Qmslte
End If
If Rec_Query.Fields("EndFlag") And Rec_Query.Fields("ForeignFlag") And Dbl_Qmwbte <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("029", GridStr(), Szzls)) = -Dbl_Qmwbte
End If
End If
End If
CxbbGrid.RowHeight(Jsqte) = Sjhgd
'如果用户要求删除为零数据
If Bln_RemoveEmpty Then
If Dbl_Qcyete <> 0 Or Dbl_Qcslte <> 0 Or Dbl_Qcwbte <> 0 Then
Bln_Empty = False
End If
If Dbl_Jejfhj <> 0 Or Dbl_Jedfhj <> 0 Or Dbl_Sljfhj <> 0 Or Dbl_Sldfhj <> 0 Or Dbl_Wbjfhj <> 0 Or Dbl_Wbdfhj <> 0 Then
Bln_Empty = False
End If
If Dbl_Jejflj <> 0 Or Dbl_Jedflj <> 0 Or Dbl_Sljflj <> 0 Or Dbl_Sldflj <> 0 Or Dbl_Wbjflj <> 0 Or Dbl_Wbdflj <> 0 Then
Bln_Empty = False
End If
Else
Bln_Empty = False
End If
If Bln_Empty Then
CxbbGrid.RemoveItem Jsqte
Else
Jsqte = Jsqte + 1
End If
'移动到下一条记录
.MoveNext
Loop
End With
'将网格按科目类别+编码排序
With CxbbGrid
.Col = 0
.Sort = flexSortStringAscending
End With
'判断是否进行科目类别合计
If Bln_ClassSum Then
Call Sub_ClassSum
End If
End Sub
Private Sub Sub_ClassSum() '按科目类别汇总数据
Dim Rowjsq As Long '临时网格计数器
Dim Dbl_Qcjfye#, Dbl_Qcdfye# '期初金额(借贷合计)
Dim Dbl_Jejfhj#, Dbl_Jedfhj# '本期合计(金额)
Dim Dbl_Jejflj#, Dbl_Jedflj# '截止累计(金额)
Dim Dbl_Qmjfye#, Dbl_Qmdfye# '期末金额(借贷合计)
Dim Dbl_Qcyete# '期初余额
Dim Dbl_Qmyete# '期末余额
Dim Str_ClassIndex As String '科目类别索引号
Bln_ClassSum = False
With CxbbGrid
Str_ClassIndex = ""
If .Rows > .FixedRows Then
Str_ClassIndex = Trim(CxbbGrid.TextMatrix(.FixedRows, 1))
End If
Rowjsq = .FixedRows
Do While Rowjsq <= .Rows - 1
'仅累加一级科目
If Val(CxbbGrid.TextMatrix(Rowjsq, 2)) = 1 And Str_ClassIndex = Trim(CxbbGrid.TextMatrix(Rowjsq, 1)) Then
Dbl_Qcjfye = Dbl_Qcjfye + Val(.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls)))
Dbl_Qcdfye = Dbl_Qcdfye + Val(.TextMatrix(Rowjsq, Sydz("005", GridStr(), Szzls)))
Dbl_Jejfhj = Dbl_Jejfhj + Val(.TextMatrix(Rowjsq, Sydz("009", GridStr(), Szzls)))
Dbl_Jedfhj = Dbl_Jedfhj + Val(.TextMatrix(Rowjsq, Sydz("010", GridStr(), Szzls)))
Dbl_Jejflj = Dbl_Jejflj + Val(.TextMatrix(Rowjsq, Sydz("017", GridStr(), Szzls)))
Dbl_Jedflj = Dbl_Jedflj + Val(.TextMatrix(Rowjsq, Sydz("018", GridStr(), Szzls)))
Dbl_Qmjfye = Dbl_Qmjfye + Val(.TextMatrix(Rowjsq, Sydz("025", GridStr(), Szzls)))
Dbl_Qmdfye = Dbl_Qmdfye + Val(.TextMatrix(Rowjsq, Sydz("026", GridStr(), Szzls)))
End If
If Str_ClassIndex <> Trim(CxbbGrid.TextMatrix(Rowjsq, 1)) Then
CxbbGrid.AddItem "", Rowjsq
CxbbGrid.RowHeight(Rowjsq) = Sjhgd
CxbbGrid.TextMatrix(Rowjsq, 0) = Str_ClassIndex + "合计"
CxbbGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Fun_GetContent("Cwzz_kmlx", Str_ClassIndex) + "类合计"
CxbbGrid.Cell(flexcpBackColor, Rowjsq, 0, , CxbbGrid.Cols - 1) = Lab_Color(0).BackColor
'显示数据
'1.显示期初余额
Dbl_Qcyete = Dbl_Qcjfye - Dbl_Qcdfye
If Dbl_Qcyete = 0 Then
CxbbGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "平" '期初方向
Else
If Dbl_Qcyete > 0 Then
CxbbGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "借"
CxbbGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls)) = Dbl_Qcyete
CxbbGrid.TextMatrix(Rowjsq, Sydz("008", GridStr(), Szzls)) = Dbl_Qcyete
Else
CxbbGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "贷"
CxbbGrid.TextMatrix(Rowjsq, Sydz("005", GridStr(), Szzls)) = -Dbl_Qcyete
CxbbGrid.TextMatrix(Rowjsq, Sydz("008", GridStr(), Szzls)) = -Dbl_Qcyete
End If
End If
'2.显示期间合计数据
If Dbl_Jejfhj <> 0 Then
CxbbGrid.TextMatrix(Rowjsq, Sydz("009", GridStr(), Szzls)) = Dbl_Jejfhj '本期发生.借方
CxbbGrid.TextMatrix(Rowjsq, Sydz("013", GridStr(), Szzls)) = Dbl_Jejfhj '本期借方发生.金额
End If
If Dbl_Jedfhj <> 0 Then
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?