📄
字号:
Dim Dtm_CurrBegin As Date '分析期间查询开始日期
Dim Dtm_CurrEnd As Date '分析期间查询结束日期
Dim Dtm_CompBegin As Date '对比期间查询开始日期
Dim Dtm_CompEnd As Date '对比期间查询结束日期
'以下为用户自定义部分[
With XJ_FrmCashChangeC
'显示查询会计期间
Dtm_CurrBegin = .LrText(0).Text
Dtm_CurrEnd = .LrText(1).Text
Dtm_CompBegin = .LrText(2).Text
Dtm_CompEnd = .LrText(3).Text
Lab_TitleText(0).Caption = "分析期间:" & .LrText(0).Text & "----" & .LrText(1).Text & _
" 对比期间:" & .LrText(2).Text & "----" & .LrText(3).Text
End With
SqlStr = "exec cwfx_CashCompare '" & Dtm_CurrBegin & "','" & Dtm_CurrEnd & "','" & Dtm_CompBegin & "','" & Dtm_CompEnd & "'"
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
'以下为现金流出项目
SqlStr = "select * from tempdb.dbo.##temp where direction=0"
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
With Rec_Query
CxbbGrid.Rows = CxbbGrid.FixedRows
CxbbGrid.Rows = CxbbGrid.FixedRows + .RecordCount
Jsqte = CxbbGrid.FixedRows
If Jsqte >= CxbbGrid.Rows Then
CxbbGrid.AddItem ""
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "现金流入科目"
Jsqte = Jsqte + 1
'填写现金流入具体项目
Do While Not .EOF
If Jsqte >= CxbbGrid.Rows Then
CxbbGrid.AddItem ""
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Space(2) & .Fields("Cname") '科目名称
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = 0
If IsNull(.Fields("Curr_V")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = .Fields("Curr_V")
End If
If IsNull(.Fields("Comp_V")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = .Fields("Comp_V")
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
If Not (.Fields("Comp_V") = 0 Or IsNull(.Fields("Curr_V")) Or IsNull(.Fields("Comp_V"))) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (.Fields("Curr_V") - .Fields("Comp_V")) / .Fields("Comp_V") * 100
End If
For i = 2 To 5 '从第002---005列为统计数值数据,为0清空
If CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = ""
End If
Next i
Jsqte = Jsqte + 1
'移动到下一条记录
.MoveNext
Loop
End With
If Jsqte >= CxbbGrid.Rows Then
CxbbGrid.AddItem "" '此行为现金流入合计行
End If
CxbbGrid.Cell(flexcpBackColor, Jsqte, 2, Jsqte, 6) = QBColor(11)
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "现金流入合计"
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = 0
SqlStr = "select sum(Curr_V) as Sum_CurrV,sum(Comp_V) as Sum_CompV from tempdb.dbo.##temp where direction=0"
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
With Rec_Query
If IsNull(.Fields("Sum_CurrV")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = .Fields("Sum_CurrV")
End If
If IsNull(.Fields("Sum_CompV")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = .Fields("Sum_CompV")
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
If Not (.Fields("Sum_CompV") = 0 Or IsNull(.Fields("Sum_CurrV")) Or IsNull(.Fields("Sum_CompV"))) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (.Fields("Sum_CurrV") - .Fields("Sum_CompV")) / .Fields("Sum_CompV") * 100
End If
End With
For i = 2 To 5 '从第2列开始到5列为统计数值数据,为0清空
If CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = ""
End If
Next
'以下为现金流出项目
Jsqte = Jsqte + 1
SqlStr = "select * from tempdb.dbo.##temp where direction=1"
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
With Rec_Query
If Jsqte >= CxbbGrid.Rows Then
CxbbGrid.AddItem ""
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "现金流出科目"
Jsqte = Jsqte + 1
'填写现金流入具体项目
Do While Not .EOF
If Jsqte >= CxbbGrid.Rows Then
CxbbGrid.AddItem ""
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Space(2) & .Fields("Cname") '科目名称
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = 0
If IsNull(.Fields("Curr_V")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = .Fields("Curr_V")
End If
If IsNull(.Fields("Comp_V")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = .Fields("Comp_V")
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
If Not (.Fields("Comp_V") = 0 Or IsNull(.Fields("Curr_V")) Or IsNull(.Fields("Comp_V"))) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (.Fields("Curr_V") - .Fields("Comp_V")) / .Fields("Comp_V") * 100
End If
For i = 2 To 5 '从第002---005列为统计数值数据,为0清空
If CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = ""
End If
Next i
Jsqte = Jsqte + 1
'移动到下一条记录
.MoveNext
Loop
End With
If Jsqte >= CxbbGrid.Rows Then
CxbbGrid.AddItem ""
End If
CxbbGrid.Cell(flexcpBackColor, Jsqte, Qslz, Jsqte, Qslz + 5 - 1) = QBColor(11)
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "现金流出合计"
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = 0
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = 0
SqlStr = "select sum(Curr_V) as Sum_CurrV,sum(Comp_V) as Sum_CompV from tempdb.dbo.##temp where direction=1"
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
With Rec_Query
If IsNull(.Fields("Sum_CurrV")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = .Fields("Sum_CurrV")
End If
If IsNull(.Fields("Sum_CompV")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 0
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = .Fields("Sum_CompV")
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
If Not (.Fields("Sum_CompV") = 0 Or IsNull(.Fields("Sum_CurrV")) Or IsNull(.Fields("Sum_CompV"))) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (.Fields("Sum_CurrV") - .Fields("Sum_CompV")) / .Fields("Sum_CompV") * 100
End If
End With
For i = 2 To 5 '从第002--005列为统计数值数据,为0清空
If CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz(IIf(i > 9, "0", "00") + Trim(Str(i)), GridStr(), Szzls)) = ""
End If
Next
SqlStr = "drop table tempdb.dbo.##temp"
Cw_DataEnvi.DataConnect.Execute (SqlStr)
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) & Lab_TitleText(0).Caption
bbxbtzzxs(1) = 0 '报表行组织形式(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 + -