📄
字号:
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'*******************************************************************
'* 模 块 名 称 :客户科目发生额及余额表(客户往来)
'* 功 能 描 述 :本功能用于查询统计涉及查询科目的客户的本期发
'* 生额、累计发生额和余额等。并支持包含未记帐凭
'* 证查询。
'* 程序员姓名 :张建忠
'* 最后修改人 :奚俊峰
'* 最后修改时间:2001/12/21
'* 备 注:在此查询中采用了Union联合查询,这种方式可以大大加
'* 快查询速度.
'*******************************************************************
Dim ReportTitle As String '报表主标题
'以下为固定使用变量
Dim Dyymctbl As New DY_Dyymsz '打印页面窗体变量
Dim GridCode As String '显示网格网格代码
Dim GridInf() As Variant '整个网格设置信息
Dim Tsxx As String '系统提示信息
Dim Qslz As Long '网格隐藏(非操作显示)列数
Dim Sjhgd As Double '网格数据行高度
Dim Sfxshjwg As Boolean '是否显示合计网格
Dim GridBoolean() As Boolean '网格列信息(布尔型)
Dim GridStr() As String '网格列信息(字符型)
Dim GridInt() As Integer '网格列信息(整型)
Dim Szzls As Integer '数组总列数(网格列数-1)
Private Sub Form_Resize() '根据窗体大小来调整网格,标题栏大小
On Error Resume Next
With CxbbGrid
.Width = Me.Width - 160
.Height = Me.Height - .Top - 400
End With
With Pic_Title
.Width = Me.Width - 160
End With
GsToolbar.Left = Me.Width - GsToolbar.Width - 140
End Sub
Private Sub Form_Load() '窗体装入
'调入打印页面设置窗体
XtReportCode = "Cwzz_khwl_khyeb"
Load Dyymctbl
ReportTitle = "客户往来余额表"
'调整标题栏及网格、格式工具条位置
Pic_Title.Left = 40
Pic_Title.Top = SzToolbar.Top + SzToolbar.Height - 10
CxbbGrid.Left = Pic_Title.Left
CxbbGrid.Top = Pic_Title.Top + Pic_Title.Height + 20
'调 入 网 格
GridCode = "Cwzz_khwl_khyeb"
Call BzWgcsh(CxbbGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
Qslz = GridInf(1)
Sjhgd = GridInf(2)
Sfxshjwg = GridInf(7)
Szzls = CxbbGrid.Cols - 1
'帐页格式
Call FillCombo(Combo_AccFormat, "Cwzz_zygs", "", 0)
'调整标题位置
SetTitlePos tsLabel(4)
End Sub
Private Sub Form_Unload(Cancel As Integer) '窗体卸载
'卸载条件窗体
ZF_Kh_FrmKhyebtj.UnloadCheck.Value = 1
Unload ZF_Kh_FrmKhyebtj
'卸载打印页面设置窗体
Unload Dyymctbl
Set clsAccAss = Nothing
End Sub
Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button) '网格格式调整
Select Case Button.Key
Case "bcgs" '保存表格格式
Call Bcwggs(CxbbGrid, GridCode, GridStr)
Case "hfmrgs" '恢复默认格式
Call Hfmrgs(CxbbGrid, GridCode, GridStr)
Case "szxsxm" '设置显示项目
Call Szxsxm(CxbbGrid, GridCode)
End Select
End Sub
Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "ymsz" '页面设置
Dyymctbl.Show 1
Case "yl" '预 览
Call bbyl(True)
Case "dy" '打 印
Call bbyl(False)
Case "cx" '查 询
ZF_Kh_FrmKhyebtj.Show 1
Case "lj" '累 计
Call Combo_AccFormat_Click
Case "bz" '帮 助
Call F1bz
Case "fh" '退 出
Unload Me
End Select
End Sub
Private Sub Timer1_Timer() '在窗体激活后调入查询程序
Dim RecTemp As New ADODB.Recordset '临时使用动态集
Timer1.Enabled = False
'加快显示速度
CxbbGrid.Redraw = False
Xt_Wait.Show
Xt_Wait.Refresh
'生成查询结果
Call Sub_Query
Call Combo_AccFormat_Click
CxbbGrid.SetFocus
CxbbGrid.Redraw = True
Xt_Wait.Hide
End Sub
Private Sub Sub_Query() '生成查询结果
Dim Rec_Query As New ADODB.Recordset '查询结果动态集
Dim RecTemp As New ADODB.Recordset '临时使用动态集
Dim Rec_AccSum As New ADODB.Recordset '科目总帐动态集
Dim Str_QueryCondi As String '用户录入查询条件
Dim Sqlstr As String '查询字符串
Dim Coljsq As Long '网格列计数器
Dim Jsqte As Long '临时动态计数器
Dim Bln_IncluNotBook As Boolean '是否包含未记帐凭证
Dim Bln_EndFlag As Boolean '判断当前科目是否为末级科目
Dim Bln_ForeignFlag As Boolean '判断此科目是否外币核算
Dim Int_Tjfx As Integer '余额统计方向
Dim Dbl_BeginYe As Double '查询起始余额
Dim Dbl_EndYe As Double '查询终止余额
Dim Bln_Fhxstj As Boolean '记录是否符合显示条件
Dim Int_BPeriod As Integer '查询起始会计期间
Dim Int_EPeriod As Integer '查询终止会计期间
Dim Int_Year As Integer '查询会计年度
Dim Str_Ccode As String '查询会计科目
Dim Str_FzCode As String '查询辅助编码
Dim Dbl_Qcyete#, Dbl_Qcslte#, Dbl_Qcwbte# '期初金额,数量,外币
Dim Dbl_Jejfhj#, Dbl_Jedfhj#, Dbl_Sljfhj#, Dbl_Sldfhj#, Dbl_Wbjfhj#, Dbl_Wbdfhj# '本期合计(金额,数量,外币)
Dim Dbl_Jejflj#, Dbl_Jedflj#, Dbl_Sljflj#, Dbl_Sldflj#, Dbl_Wbjflj#, Dbl_Wbdflj# '截止累计(金额,数量,外币)
Dim Dbl_Qmyete#, Dbl_Qmslte#, Dbl_Qmwbte# '期末金额,数量,外币
Dim Dbl_Sjzj(1 To 18) As Double '数据总计
Dim Bln_NotShowEmpty As Boolean '数据全部为零不显示
'以下为用户自定义部分[
With ZF_Kh_FrmKhyebtj
'查询客户编码
Str_FzCode = Trim(.LrText(0).Tag)
Lab_FzName.Caption = Trim(.LrText(0).Text)
'显示查询会计期间
Lab_TitleText(0).Caption = .Combo_Kjqj(0).Text & "-" & .Combo_Kjqj(1)
Int_Year = Int(Mid(.Combo_Kjqj(0).Text, 1, 4))
Int_BPeriod = Int(Mid(.Combo_Kjqj(0).Text, 6, 2))
Int_EPeriod = Int(Mid(.Combo_Kjqj(1).Text, 6, 2))
'是否包含未记帐凭证
If .Chk_NotBook.Value = 1 Then
Bln_IncluNotBook = True
Else
Bln_IncluNotBook = False
End If
'数据为零不显示
Bln_NotShowEmpty = True
'余额统计方向
For Jsqte = 0 To 2
If .Opt_Tjfx(Jsqte).Value = True Then
Int_Tjfx = Jsqte
End If
Next Jsqte
'查询起始终止余额
Dbl_BeginYe = Val(.LrText(1).Text)
Dbl_EndYe = Val(.LrText(2).Text)
End With
'计算所有用户选中(客户)的科目发生额及余额
If Bln_IncluNotBook Then
Sqlstr = "Select Ccode,Cname,EndFlag,ForeignFlag," & _
" QcyeHj=(Select QcyeHJ=Isnull(Sum(qcyehj),0) From ((SELECT QcyeHj=Isnull(Sum(Qcye),0) From Cwzz_AccSumAssi Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period=" & Int_BPeriod & ") union all (SELECT Qcyehj=Isnull(Sum(Jfje-Dfje),0) From Cwzz_V_AccVouch Where BookFlag=0 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<" & Int_BPeriod & ")) b)," & _
" QcslHj=(Select QcslHJ=Isnull(Sum(qcslhj),0) From ((SELECT Qcslhj=Isnull(Sum(Qcsl),0) From Cwzz_AccSumAssi Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period=" & Int_BPeriod & ") union all (SELECT Qcslhj=Isnull(Sum(Jfsl-Dfsl),0) From Cwzz_V_AccVouch Where BookFlag=0 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<" & Int_BPeriod & ")) b)," & _
" QcwbHj=(Select QcwbHJ=Isnull(Sum(qcwbhj),0) From ((SELECT Qcwbhj=Isnull(Sum(Qcwb),0) From Cwzz_AccSumAssi Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period=" & Int_BPeriod & ") union all (SELECT Qcwbhj=Isnull(Sum(WbJfje-WbDfje),0) From Cwzz_V_AccVouch Where BookFlag=0 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<" & Int_BPeriod & ")) b)," & _
" Mjjehj=(SELECT Mjjehj=Isnull(Sum(Jfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mdjehj=(SELECT Mdjehj=Isnull(Sum(dfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mjslhj=(SELECT Mjslhj=Isnull(Sum(Jfsl),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mdslhj=(SELECT Mdslhj=Isnull(Sum(dfsl),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mjwbhj=(SELECT Mjwbhj=Isnull(Sum(WbJfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mdwbhj=(SELECT Mdwbhj=Isnull(Sum(Wbdfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & "), " & _
" ByjfljjeHj=(Select ByjfljjeHj=Isnull(Sum(Jfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" BydfljjeHj=(Select BydfljjeHj=Isnull(Sum(dfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" ByjfljslHj=(Select ByjfljslHj=Isnull(Sum(Jfsl),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" BydfljslHj=(Select BydfljslHj=Isnull(Sum(dfsl),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" ByjfljwbHj=(Select ByjfljwbHj=Isnull(Sum(WbJfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" BydfljwbHj=(Select BydfljwbHj=Isnull(Sum(Wbdfje),0) From Cwzz_V_AccVouch Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")" & _
" From Cwzz_AccCODE c Where c.CusFlag=1 Order By Ccode"
Else
Sqlstr = "Select Ccode,Cname,EndFlag,ForeignFlag," & _
" QcyeHj=(SELECT QcyeHj=Isnull(Sum(Qcye),0) From Cwzz_AccSumAssi Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period=" & Int_BPeriod & ")," & _
" QcslHj=(SELECT Qcslhj=Isnull(Sum(Qcsl),0) From Cwzz_AccSumAssi Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period=" & Int_BPeriod & ")," & _
" QcwbHj=(SELECT Qcwbhj=Isnull(Sum(Qcwb),0) From Cwzz_AccSumAssi Where CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period=" & Int_BPeriod & ")," & _
" Mjjehj=(SELECT Mjjehj=Isnull(Sum(Jfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mdjehj=(SELECT Mdjehj=Isnull(Sum(dfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mjslhj=(SELECT Mjslhj=Isnull(Sum(Jfsl),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mdslhj=(SELECT Mdslhj=Isnull(Sum(dfsl),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mjwbhj=(SELECT Mjwbhj=Isnull(Sum(WbJfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & ")," & _
" Mdwbhj=(SELECT Mdwbhj=Isnull(Sum(Wbdfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period>=" & Int_BPeriod & " And Period <=" & Int_EPeriod & "), " & _
" ByjfljjeHj=(Select ByjfljjeHj=Isnull(Sum(Jfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" BydfljjeHj=(Select BydfljjeHj=Isnull(Sum(dfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" ByjfljslHj=(Select ByjfljslHj=Isnull(Sum(Jfsl),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" BydfljslHj=(Select BydfljslHj=Isnull(Sum(dfsl),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" ByjfljwbHj=(Select ByjfljwbHj=Isnull(Sum(WbJfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")," & _
" BydfljwbHj=(Select BydfljwbHj=Isnull(Sum(Wbdfje),0) From Cwzz_V_AccVouch Where BookFlag=1 And CusCode='" & Str_FzCode & "' And Ccode like RTRIM(c.cCODE)+'%' And Year=" & Int_Year & " And Period<=" & Int_EPeriod & ")" & _
" From Cwzz_AccCODE c Where c.CusFlag=1 Order By Ccode"
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -