📄
字号:
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("DeptName") & "")
End If
'个人
If Trim(.Fields("PersonName") & "") <> "" Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("PersonName") & "")
End If
'客户
If Trim(.Fields("CusName") & "") <> "" Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("CusName") & "")
End If
'项目
If Trim(.Fields("ItemName") & "") <> "" Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("ItemName") & "")
End If
If .Fields("Jfje") <> 0 Then '借方金额
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = .Fields("Jfje")
If Fun_CcodeCol(Str_Ccode, "借") <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Fun_CcodeCol(Str_Ccode, "借")) = .Fields("Jfje")
End If
End If
If .Fields("Dfje") <> 0 Then '贷方金额
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = .Fields("Dfje")
If Fun_CcodeCol(Str_Ccode, "贷") <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Fun_CcodeCol(Str_Ccode, "贷")) = .Fields("Dfje")
End If
End If
'累加本月合计,本年累计数据
Dbl_Jejfhj = Dbl_Jejfhj + .Fields("Jfje")
Dbl_Jedfhj = Dbl_Jedfhj + .Fields("Dfje")
If Fun_CcodeCol(Str_Ccode, "借") <> 0 Then
Dbl_JejfhjDlz(Fun_CcodeCol(Str_Ccode, "借")) = Dbl_JejfhjDlz(Fun_CcodeCol(Str_Ccode, "借")) + .Fields("Jfje")
End If
If Fun_CcodeCol(Str_Ccode, "贷") <> 0 Then
Dbl_JedfhjDlz(Fun_CcodeCol(Str_Ccode, "贷")) = Dbl_JedfhjDlz(Fun_CcodeCol(Str_Ccode, "贷")) + .Fields("Dfje")
End If
Dbl_Jejflj = Dbl_Jejflj + .Fields("Jfje")
Dbl_Jedflj = Dbl_Jedflj + .Fields("Dfje")
If Fun_CcodeCol(Str_Ccode, "借") <> 0 Then
Dbl_JejfljDlz(Fun_CcodeCol(Str_Ccode, "借")) = Dbl_JejfljDlz(Fun_CcodeCol(Str_Ccode, "借")) + .Fields("Jfje")
End If
If Fun_CcodeCol(Str_Ccode, "贷") <> 0 Then
Dbl_JedfljDlz(Fun_CcodeCol(Str_Ccode, "贷")) = Dbl_JedfljDlz(Fun_CcodeCol(Str_Ccode, "贷")) + .Fields("Dfje")
End If
'3.计算余额
Dbl_Qcyete = Dbl_Qcyete + .Fields("Jfje") - .Fields("Dfje")
'输出余额
Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
'跳过无效记录
Wxjl:
.MoveNext
'计算是否输出承前/过次行(如果用户选择输出承前/过次)
If Bln_CqGcShow Then
If Not .EOF Then
If .Fields("Period") = Int_DqPeriod Then
Call Sub_OutQcGc(Jsqte, Int_Zdzyhs, Int_DqPeriod, Dbl_Jejfhj, Dbl_Jedfhj, Dbl_Qcyete, Dbl_JejfhjDlz(), Dbl_JedfhjDlz())
End If
End If
End If
Loop
'添加本月合计及本年累计
If Lng_MonthCount <> 0 Then
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
'输出本月合计
Call Sub_OutPeriodSum(Jsqte, Int_DqPeriod, Dbl_Jejfhj, Dbl_Jedfhj, Dbl_JejfhjDlz(), Dbl_JedfhjDlz())
'输出余额
Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
End If
'显示本年累计
If Lng_YearCount <> 0 Then
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
'输出本年累计
Call Sub_OutYearSum(Jsqte, Int_DqPeriod, Dbl_Jejflj, Dbl_Jedflj, Dbl_JejfljDlz(), Dbl_JedfljDlz())
'输出余额
Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
End If
End With
'重置网格行高
For Jsqte = CxbbGrid.FixedRows To CxbbGrid.Rows - 1
CxbbGrid.RowHeight(Jsqte) = Sjhgd
Next Jsqte
End Sub
Private Function Fun_CcodeCol(Str_Ccode As String, Optional Yefx As String) As Long '科目与网格列对应值
Dim Int_Maxlen As Integer
Dim Coljsq As Long
Fun_CcodeCol = 0
Int_Maxlen = Len(Trim(Str_Ccode))
For Jsqte = Int_Maxlen To 1 Step -1
For Coljsq = Szzls + 1 To CxbbGrid.Cols - 1
If Trim(Yefx) = "" Then
If Str_ItemCol(Coljsq) = Mid(Trim(Str_Ccode), 1, Jsqte) Then
Fun_CcodeCol = Coljsq
Exit Function
End If
Else
If Str_ItemCol(Coljsq) = Mid(Trim(Str_Ccode), 1, Jsqte) And Str_AnalyCol(Coljsq) = Trim(Yefx) Then
Fun_CcodeCol = Coljsq
Exit Function
End If
End If
Next Coljsq
Next Jsqte
End Function
Private Sub Sub_OutBalance(Jsqte As Long, Dbl_Qcyete#) '输出余额
If Dbl_Qcyete = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = "平" '期初方向
Else
If Dbl_Qcyete > 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = "借"
CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Dbl_Qcyete
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = "贷"
CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = -Dbl_Qcyete
End If
End If
End Sub
Private Sub Sub_OutPeriodSum(Jsqte As Long, Int_DqPeriod%, Dbl_Jejfhj#, Dbl_Jedfhj#, Dbl_JejfhjDlz() As Double, Dbl_JedfhjDlz() As Double) '输出本月合计
Dim Lng_ColJsq As Long '网格列值
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本月合计"
If Dbl_Jejfhj <> 0 Then '本月借方金额合计
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejfhj
End If
If Dbl_Jedfhj <> 0 Then '本月贷方金额合计
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedfhj
End If
'多栏帐部分本月合计填充
For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
If Dbl_JejfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfhjDlz(Lng_ColJsq)
End If
If Dbl_JedfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfhjDlz(Lng_ColJsq)
End If
Next Lng_ColJsq
End Sub
Private Sub Sub_OutYearSum(Jsqte As Long, Int_DqPeriod%, Dbl_Jejflj#, Dbl_Jedflj#, Dbl_JejfljDlz() As Double, Dbl_JedfljDlz() As Double) '输出本年累计
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本年累计"
If Dbl_Jejflj <> 0 Then '本年借方金额累计
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejflj
End If
If Dbl_Jedflj <> 0 Then '本年贷方金额累计
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedflj
End If
'多栏帐部分本年累计填充
For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
If Dbl_JejfljDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfljDlz(Lng_ColJsq)
End If
If Dbl_JedfljDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfljDlz(Lng_ColJsq)
End If
Next Lng_ColJsq
End Sub
Private Sub Sub_OutQcGc(Jsqte As Long, Int_Zdzyhs%, Int_DqPeriod%, Dbl_Jejfhj#, Dbl_Jedfhj#, Dbl_Qcyete#, Dbl_JejfhjDlz() As Double, Dbl_JedfhjDlz() As Double) '输出承前/过次行
If (Jsqte - CxbbGrid.FixedRows + 2) Mod Int_Zdzyhs = 0 Then
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
CxbbGrid.Cell(flexcpBackColor, Jsqte, 0, , CxbbGrid.Cols - 1) = Lab_Color(1).BackColor
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "过次页"
If Dbl_Jejfhj <> 0 Then '本月借方金额合计
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejfhj
End If
If Dbl_Jedfhj <> 0 Then '本月贷方金额合计
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedfhj
End If
'输出余额
Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
'多栏帐部分承前过次填充
For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
If Dbl_JejfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfhjDlz(Lng_ColJsq)
End If
If Dbl_JedfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfhjDlz(Lng_ColJsq)
End If
Next Lng_ColJsq
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
CxbbGrid.Cell(flexcpBackColor, Jsqte, 0, , CxbbGrid.Cols - 1) = Lab_Color(2).BackColor
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "承前页"
If Dbl_Jejfhj <> 0 Then '本月借方金额合计
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejfhj
End If
If Dbl_Jedfhj <> 0 Then '本月贷方金额合计
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedfhj
End If
'输出余额
Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
'多栏帐部分承前过次填充
For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
If Dbl_JejfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfhjDlz(Lng_ColJsq)
End If
If Dbl_JedfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfhjDlz(Lng_ColJsq)
End If
Next Lng_ColJsq
End If
End Sub
Private Sub CxbbGrid_DblClick() '用户双击网格调入相应凭证
Dim RecTemp As New ADODB.Recordset
With CxbbGrid
'非数据行退出
If CxbbGrid.Row < CxbbGrid.FixedRows Then
Exit Sub
End If
If Trim(.TextMatrix(.Row, 0)) = "" Then
Exit Sub
End If
End With
Sqlstr = "SELECT VouchID From Cwzz_AccVouchMain" & _
" Where VouchID=" & Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
With RecTemp
If .EOF Then
Tsxx = "此凭证已被其他用户删除!"
Call Xtxxts(Tsxx, 0, 4)
Exit Sub
Else
With PZ_JzpzclFrm
'填充查询凭证标识
.Lab_VouchId = Trim(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
'设置凭证处理为列表查询状态
.Lab_Pzclzt.Caption = "4"
.Show 1
End With
End If
End With
End Sub
Private Sub bbyl(bbylte As Boolean) '报表打印预览
Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
Bbxbtgs = 1 '报 表 小 标 题 行 数
Bbbwhgs = 0 '报 表 表 尾 行 数
ReDim Bbxbt(1 To Bbxbtgs)
ReDim bbxbtzzxs(1 To Bbxbtgs)
If Bbbwhgs <> 0 Then
ReDim Bbbwh(1 To Bbbwhgs)
ReDim Bbbwhzzxs(1 To Bbbwhgs)
End If
Bbzbt = ReportTitle
Bbxbt(1) = Space(2) + "多栏帐名称:" + Me.Lab_AccMultiName.Caption
bbxbtzzxs(1) = 1 '报表行组织形式(0-居左 1-居中 2-居右)
Call Scyxsjb(CxbbGrid) '生成报表数据
Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
If Not bbylte Then
Unload DY_Tybbyldy
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -