📄 i-
字号:
'如果用户正在连续打印帐页,则不能关闭窗体
If Bln_Printing Then
Cancel = 1
End If
'卸载条件窗体
ZB_Frmzflztj.UnloadCheck.Value = 1
Unload ZB_Frmzflztj
'卸载打印页面设置窗体
Unload Dyymctbl
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)
'如果用户正在连续打印帐页,则不能执行其他功能
If Bln_Printing Then
Exit Sub
End If
Select Case Button.Key
Case "ymsz" '页面设置
Dyymctbl.Show 1
Case "yl" '预 览
Call bbyl(True)
Case "dy" '打 印
Call bbyl(False)
Case "lxdy" '连 打
Call Sub_Lxdy
Case "cx" '查 询
If Trim(Combo_QueryCcode.Text) <> "" Then
ZB_Frmzflztj.LrText(0).Text = Trim(Mid(Combo_QueryCcode.Text, 1, InStr(1, Combo_QueryCcode.Text, " ") - 1))
End If
ZB_Frmzflztj.Show 1
Case "mxz" '明细帐
Call Sub_Lcmxz
Case "sx" '刷 新
Combo_QueryCcode_Click
Case "bz" '帮 助
Call F1bz
Case "fh" '退 出
Unload Me
End Select
End Sub
Private Sub Timer1_Timer() '在窗体激活后调入查询程序
Dim RecTemp As New ADODB.Recordset '临时使用动态集
Dim Str_QueryCondi As String '用户录入查询条件
Timer1.Enabled = False
With ZB_Frmzflztj
Str_QueryCondi = " where 1=1 "
For Jsqte = 1 To 3
Select Case Jsqte
Case 1 '科目号范围(起始科目号)
Str_QueryCondi = Str_QueryCondi & " and CCode>='" & Trim(.LrText(0).Text) & "'"
Case 2 '科目号范围(终止科目号)
If Trim(.LrText(1).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " and CCode<='" & Trim(.LrText(1).Text) & "'"
End If
Case 3 '科目级次范围(起始科目级次-终止科目级次)
Str_QueryCondi = Str_QueryCondi & " and CodeLevel>=" & Val(.LrText(2).Text) & " and CodeLevel<=" & Val(.LrText(3).Text)
End Select
Next Jsqte
'判断是否仅限于末级科目查询
If .Chk_EndFlag.Value = 1 Then
Str_QueryCondi = Str_QueryCondi & " and EndFlag='1'"
End If
End With
'根据查询科目范围填充科目列表框
Sqlstr = "SELECT Ccode,Cname From Cwzz_AccCode" & Str_QueryCondi & " Order By Ccode"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
Combo_QueryCcode.Clear
Do While Not RecTemp.EOF
Combo_QueryCcode.AddItem Trim(RecTemp.Fields("Ccode")) + " " + Trim(RecTemp.Fields("Cname") & "")
RecTemp.MoveNext
Loop
If Combo_QueryCcode.ListCount <> 0 Then
Combo_QueryCcode.Text = Combo_QueryCcode.List(0)
End If
End Sub
Private Sub Combo_QueryCcode_Click() '用户点击科目列表框
Timer1.Enabled = False
Xt_Wait.Show
Xt_Wait.Refresh
CxbbGrid.Redraw = True
'加快显示速度
CxbbGrid.Redraw = False
'生成查询结果
Call Sub_Query
CxbbGrid.Redraw = True
Xt_Wait.Hide
End Sub
Private Sub Sub_Query() '生成查询结果
Dim RecTemp As New ADODB.Recordset '临时使用动态集
Dim Rec_AccSum As New ADODB.Recordset '科目总帐动态集
Dim Str_Ccode As String '查询科目
Dim Sqlstr As String '查询字符串
Dim Coljsq As Long '网格列计数器
Dim Jsqte As Long '临时动态计数器
Dim Int_Year As Integer '查询会计年度
Dim Bln_IncluNotBook As Boolean '是否包含未记帐凭证
Dim Bln_EndFlag As Boolean '判断当前科目是否为末级科目
Dim Int_DqPeriod As Integer '查询进行当前会计期间
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# '期末金额,数量,外币
'以下为用户自定义部分[
'清除原查询数据
CxbbGrid.Rows = CxbbGrid.FixedRows
'得到当前查询科目,并判断是否为末级科目
If Trim(Combo_QueryCcode.Text) <> "" Then
Str_Ccode = Trim(Mid(Combo_QueryCcode.Text, 1, InStr(1, Combo_QueryCcode.Text, " ") - 1))
Else
Exit Sub
End If
Sqlstr = "SELECT EndFlag,AccFormat,ForeignFlag,ForeignCurrName From Cwzz_AccCode Left JOIN Gy_ForeignCurrency ON" & _
" Cwzz_AccCode.ForeignCurrCode = Gy_ForeignCurrency.ForeignCurrCode Where Ccode='" & Str_Ccode & "'"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Not RecTemp.EOF Then
Bln_EndFlag = RecTemp.Fields("EndFlag")
Combo_AccFormat.Text = Trim(RecTemp.Fields("AccFormat") & "")
If RecTemp.Fields("ForeignFlag") Then
Lab_TitleMess(2).Visible = True
Lab_TitleText(1).Caption = Trim(RecTemp.Fields("ForeignCurrName") & "")
Else
Lab_TitleMess(2).Visible = True
Lab_TitleText(1).Caption = ""
End If
End If
'得到查询年度,并判断是否包含未记帐凭证
With ZB_Frmzflztj
Int_Year = Xtyear
'是否包含未记帐凭证
If .Chk_NotBook.Value = 1 Then
Bln_IncluNotBook = True
Else
Bln_IncluNotBook = False
End If
End With
'初始化各种值
Dbl_Qcyete = 0
Dbl_Qcslte = 0
Dbl_Qcwbte = 0
Dbl_Jejfhj = 0
Dbl_Jedfhj = 0
Dbl_Sljfhj = 0
Dbl_Sldfhj = 0
Dbl_Wbjfhj = 0
Dbl_Wbdfhj = 0
Dbl_Jejflj = 0
Dbl_Jedflj = 0
Dbl_Sljflj = 0
Dbl_Sldflj = 0
Dbl_Wbjflj = 0
Dbl_Wbdflj = 0
Jsqte = CxbbGrid.FixedRows - 1
'1.读出上年结转余额(数量,外币,金)
Sqlstr = "SELECT * From Cwzz_AccSum Where Ccode='" & Str_Ccode & "' And Year=" & Int_Year & " And Period=1"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Not RecTemp.EOF Then
Dbl_Qcyete = RecTemp.Fields("Qcye")
Dbl_Qcslte = RecTemp.Fields("Qcsl")
Dbl_Qcwbte = RecTemp.Fields("Qcwb")
End If
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = "上年结转"
'输出余额
Call Sub_OutBalance(Jsqte, Bln_EndFlag, Dbl_Qcyete, Dbl_Qcslte, Dbl_Qcwbte)
'2.读出所有会计期间记账数据
Sqlstr = "SELECT * From Cwzz_AccSum Where Ccode='" & Str_Ccode & "' And Year=" & Int_Year
Set Rec_AccSum = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
'3.如果包含未记帐凭证查询,则读出本年度所有未记帐凭证各会计期间合计数据
If Bln_IncluNotBook Then
Sqlstr = "SELECT Period,SUM(Jfje) AS Jfjehj, SUM(Dfje) AS Dfjehj, SUM(Jfsl) AS Jfslhj, SUM(Dfsl) AS Dfslhj," & _
" SUM(Wbjfje) AS Wbjfjehj, SUM(Wbdfje) AS Wbdfjehj From Cwzz_V_AccVouch WHERE BookFlag=0 And Ccode like '" & Str_Ccode & "%' And Year=" & Int_Year & _
" GROUP BY Year, Period"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
End If
'4.将各会计期间科目合计数据写入网格,同时计算本年累计,余额将其写入网格
For Int_DqPeriod = 1 To 12
'本期合计数据清零
Dbl_Jejfhj = 0
Dbl_Jedfhj = 0
Dbl_Sljfhj = 0
Dbl_Sldfhj = 0
Dbl_Wbjfhj = 0
Dbl_Wbdfhj = 0
With Rec_AccSum
If .RecordCount <> 0 Then
.MoveFirst
.Find "Period =" & Int_DqPeriod
If Not .EOF Then
Dbl_Jejfhj = Dbl_Jejfhj + .Fields("Mjje")
Dbl_Jedfhj = Dbl_Jedfhj + .Fields("Mdje")
Dbl_Sljfhj = Dbl_Sljfhj + .Fields("Mjsl")
Dbl_Sldfhj = Dbl_Sldfhj + .Fields("Mdsl")
Dbl_Wbjfhj = Dbl_Wbjfhj + .Fields("Mjwb")
Dbl_Wbdfhj = Dbl_Wbdfhj + .Fields("Mdwb")
Dbl_Jejflj = Dbl_Jejflj + .Fields("Mjje")
Dbl_Jedflj = Dbl_Jedflj + .Fields("Mdje")
Dbl_Sljflj = Dbl_Sljflj + .Fields("Mjsl")
Dbl_Sldflj = Dbl_Sldflj + .Fields("Mdsl")
Dbl_Wbjflj = Dbl_Wbjflj + .Fields("Mjwb")
Dbl_Wbdflj = Dbl_Wbdflj + .Fields("Mdwb")
End If
End If
End With
'判断是否包含未记帐凭证
If Bln_IncluNotBook Then
With RecTemp
If .RecordCount <> 0 Then
.MoveFirst
.Find "Period =" & Int_DqPeriod
If Not .EOF Then
Dbl_Jejfhj = Dbl_Jejfhj + Val(.Fields("Jfjehj") & "")
Dbl_Jedfhj = Dbl_Jedfhj + Val(.Fields("Dfjehj") & "")
Dbl_Sljfhj = Dbl_Sljfhj + Val(.Fields("Jfslhj") & "")
Dbl_Sldfhj = Dbl_Sldfhj + Val(.Fields("Dfslhj") & "")
Dbl_Wbjfhj = Dbl_Wbjfhj + Val(.Fields("Wbjfjehj") & "")
Dbl_Wbdfhj = Dbl_Wbdfhj + Val(.Fields("Wbdfjehj") & "")
Dbl_Jejflj = Dbl_Jejflj + Val(.Fields("Jfjehj") & "")
Dbl_Jedflj = Dbl_Jedflj + Val(.Fields("Dfjehj") & "")
Dbl_Sljflj = Dbl_Sljflj + Val(.Fields("Jfslhj") & "")
Dbl_Sldflj = Dbl_Sldflj + Val(.Fields("Dfslhj") & "")
Dbl_Wbjflj = Dbl_Wbjflj + Val(.Fields("Wbjfjehj") & "")
Dbl_Wbdflj = Dbl_Wbdflj + Val(.Fields("Wbdfjehj") & "")
End If
End If
End With
End If
'随时计算期末余额
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -