⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 财务分析 财财务分析务分析
💻
📖 第 1 页 / 共 3 页
字号:
    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 + -