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

📄 z

📁 财务分析 财财务分析务分析
💻
📖 第 1 页 / 共 4 页
字号:
                iThisMonthBegin = iThisMonthEnd
                iThisMonthEnd = item
            End If
            
            For i = iThisMonthBegin To iThisMonthEnd
                iWriteCols = iWriteCols + 1
                With CxbbGrid
                    .Cols = .Cols + 1
                    .FixedAlignment(.Cols - 1) = flexAlignCenterCenter
                    .ColAlignment(.Cols - 1) = 6
                    .ColWidth(.Cols - 1) = COL_WIDTH
                    .ColFormat(.Cols - 1) = "#,##0.00"
                    .TextMatrix(.FixedRows - 1, .Cols - 1) = CStr(Xtyear) & DATE_FIX & Format(i, "00") & ""
                    
                End With
            Next
        Case 1 '季
        
            If iThisMonthBegin > iThisMonthEnd Then
                item = iThisMonthBegin
                iThisMonthBegin = iThisMonthEnd
                iThisMonthEnd = item
            End If
        
            For i = iThisMonthBegin To iThisMonthEnd Step 3
            
                iWriteCols = iWriteCols + 1
                
                With CxbbGrid
                    .Cols = .Cols + 1
                    .FixedAlignment(.Cols - 1) = flexAlignCenterCenter
                    .ColAlignment(.Cols - 1) = 6
                    .ColWidth(.Cols - 1) = COL_WIDTH
                    .ColFormat(.Cols - 1) = "#,##0.00"
                    .TextMatrix(.FixedRows - 1, .Cols - 1) = CStr(Xtyear) & DATE_FIX & Format(CStr(i - 2), "00") & "-" & CStr(Xtyear) & DATE_FIX & Format(CStr(i), "00") & ""
                End With
            Next
        Case 2 '年
            If iThisYear > iCompYear Then
                item = iThisYear
                iThisYear = iCompYear
                iCompYear = item
            End If
            
            For i = iCompYear To iThisYear
            
                iWriteCols = iWriteCols + 1
            
                With CxbbGrid
                    .Cols = .Cols + 1
                    .FixedAlignment(.Cols - 1) = flexAlignCenterCenter
                    .ColAlignment(.Cols - 1) = 6
                    .ColWidth(.Cols - 1) = COL_WIDTH
                    .ColFormat(.Cols - 1) = "#,##0.00"
                    .TextMatrix(.FixedRows - 1, .Cols - 1) = CStr(i) & "年"
                End With
            Next
    End Select
    
End Sub

'=================写数据到表格===========================================
Private Sub dbFillGrid()
    Dim iRow As Integer '网格列
    
    Dim dbl_Fxq As Double '分析期数据
    Dim dbl_Dbq As Double '对比期数据
    Dim dbl_Cha As Double '对比期与分析期之差
    Dim strItem As String
    Dim clsIncClass As New clsInc
    
    Call date_Change
    
    clsIncClass.Init Cw_DataEnvi.DataConnect  '初始化
    
    With CxbbGrid
        For iRow = .FixedRows To .Rows - 1
            strItem = .TextMatrix(iRow, 0)
            If intType = 1 Then '按季
                dbl_Fxq = clsIncClass.GetPeriodValue(strItem, Val(Mid(strBegin, 6, 1)), Val(Right(strBegin, 1)), iThisYear)
                dbl_Dbq = clsIncClass.GetPeriodValue(strItem, Val(Mid(strEnd, 6, 1)), Val(Right(strEnd, 1)), iThisYear)
            ElseIf intType = 0 Then '月
                dbl_Fxq = clsIncClass.GetPeriodValue(strItem, iThisMonthBegin, iThisMonthBegin, iThisYear)
                dbl_Dbq = clsIncClass.GetPeriodValue(strItem, iCompMonthEnd, iCompMonthEnd, iThisYear)
            ElseIf intType = 2 Then '年
                dbl_Fxq = clsIncClass.GetPeriodValue(strItem, 1, 12, iThisYear)
                dbl_Dbq = clsIncClass.GetPeriodValue(strItem, 1, 12, iCompYear)
            End If
            
            dbl_Cha = dbl_Fxq - dbl_Dbq
            
            .TextMatrix(iRow, Sydz("002", GridStr(), Szzls)) = IIf(dbl_Fxq = 0, "", dbl_Fxq)
            .TextMatrix(iRow, Sydz("003", GridStr(), Szzls)) = IIf(dbl_Dbq = 0, "", dbl_Dbq)
            .TextMatrix(iRow, Sydz("004", GridStr(), Szzls)) = IIf(dbl_Cha = 0, "", dbl_Cha)
            If dbl_Dbq <> 0 Then
                .TextMatrix(iRow, Sydz("005", GridStr(), Szzls)) = (dbl_Cha / dbl_Dbq) * 100
            Else
                .TextMatrix(iRow, Sydz("005", GridStr(), Szzls)) = ""
            End If
            
        Next
    End With
    Set clsIncClass = Nothing
End Sub
Private Sub jgFillGrid()
    Dim iRow As Integer '网格列
    
    Dim dbl_Fxq As Double '分析期数据
    Dim dbl_Dbq As Double '对比期数据
    
    Dim dbl_FxqTotal As Double '分析期总额
    Dim dbl_dbqTotal As Double '对比期总额
    
    Dim dbl_LeiJiyear As Double '全年累计
    Dim dbl_LeiJiyearTotal As Double '全年累计总额
    
    Dim dbl_Char As Double '结构差额
    Dim dbl_Cha As Double
    
    
    Dim clsIncClass As New clsInc
    
    Call date_Change
    
    clsIncClass.Init Cw_DataEnvi.DataConnect  '初始化
    
    '----------算出年累计总金额、分析期总金额、对比期总金额-----------------------
    If intType = 1 Then '按季
'        dbl_Fxq = clsIncClass.GetPeriodValue(strItem, Mid(strBegin, 6, 2), Right(strBegin, 2), iThisYear)
'        dbl_Dbq = clsIncClass.GetPeriodValue(strItem, Mid(strEnd, 6, 2), Right(strEnd, 2), iThisYear)
        dbl_LeiJiyearTotal = 0 '年累计总金额
        dbl_FxqTotal = clsIncClass.GetPeriodValue(strItem, Mid(strBegin, 6, 2), Right(strBegin, 2), iThisYear) '分析期总金额
        dbl_dbqTotal = clsIncClass.GetPeriodValue(strItem, Mid(strEnd, 6, 2), Right(strEnd, 2), iThisYear) '对比期总金额
    ElseIf intType = 0 Then '月
'        dbl_Fxq = clsIncClass.GetPeriodValue(strItem, iThisMonthBegin, iThisMonthBegin, iThisYear)
'        dbl_Dbq = clsIncClass.GetPeriodValue(strItem, iCompMonthEnd, iCompMonthEnd, iThisYear)
        dbl_LeiJiyearTotal = clsIncClass.GetPeriodValue("产品销售收入", 1, 12, iThisYear) '年累计总金额
        dbl_FxqTotal = clsIncClass.GetPeriodValue("产品销售收入", iThisMonthBegin, iThisMonthBegin, iThisYear) '分析期总金额
        dbl_dbqTotal = clsIncClass.GetPeriodValue("产品销售收入", iCompMonthBegin, iCompMonthBegin, iThisYear) '对比期总金额
    ElseIf intType = 2 Then '年
        dbl_LeiJiyearTotal = clsIncClass.GetPeriodValue("产品销售收入", 1, 12, iThisYear) '年累计总金额
        dbl_FxqTotal = clsIncClass.GetPeriodValue("产品销售收入", 1, 12, iThisYear) '分析期总金额
        dbl_dbqTotal = clsIncClass.GetPeriodValue("产品销售收入", 1, 12, iCompYear) '对比期总金额
    End If
    '-----------------------------------------------
    
    
    With CxbbGrid
        For iRow = .FixedRows To .Rows - 1
        
            strItem = .TextMatrix(iRow, 0)  '取得每行项目名称
        
            '---------------算出每行的分析期、对比期、年累计数据---------------------
            If intType = 1 Then '按季
                dbl_Fxq = clsIncClass.GetPeriodValue(strItem, Val(Mid(strBegin, 6, 1)), Val(Right(strBegin, 1)), iThisYear)
                dbl_Dbq = clsIncClass.GetPeriodValue(strItem, Val(Mid(strEnd, 6, 1)), Val(Right(strEnd, 1)), iThisYear)
                dbl_LeiJiyear = clsIncClass.GetPeriodValue(strItem, 1, 12, iThisYear)
            ElseIf intType = 0 Then '月
                dbl_Fxq = clsIncClass.GetPeriodValue(strItem, iThisMonthBegin, iThisMonthBegin, iThisYear)
                dbl_Dbq = clsIncClass.GetPeriodValue(strItem, iCompMonthEnd, iCompMonthEnd, iThisYear)
                dbl_LeiJiyear = clsIncClass.GetPeriodValue(strItem, 1, 12, iThisYear)
            ElseIf intType = 2 Then '年
                dbl_Fxq = clsIncClass.GetPeriodValue(strItem, 1, 12, iThisYear)
                dbl_Dbq = clsIncClass.GetPeriodValue(strItem, 1, 12, iCompYear)
                dbl_LeiJiyear = clsIncClass.GetPeriodValue(strItem, 1, 12, iThisYear)
            End If
            '-------------------------------------------------------------------------
            
            .TextMatrix(iRow, Sydz("002", GridStr(), Szzls)) = IIf(dbl_Fxq = 0, "", dbl_Fxq) '分析期金额
            .TextMatrix(iRow, Sydz("004", GridStr(), Szzls)) = IIf(dbl_Dbq = 0, "", dbl_Dbq) '比较期金额
            .TextMatrix(iRow, Sydz("007", GridStr(), Szzls)) = IIf(dbl_LeiJiyear = 0, "", dbl_LeiJiyear) '全年累计金额
            '------------分析期结构----------------
            If dbl_FxqTotal <> 0 Then
                .TextMatrix(iRow, Sydz("003", GridStr(), Szzls)) = (dbl_Fxq / dbl_FxqTotal) * 100
            Else
                .TextMatrix(iRow, Sydz("003", GridStr(), Szzls)) = ""
            End If
            '------------对比期结构-----------------
            If dbl_dbqTotal <> 0 Then
                .TextMatrix(iRow, Sydz("005", GridStr(), Szzls)) = (dbl_Dbq / dbl_dbqTotal) * 100
            Else
                .TextMatrix(iRow, Sydz("005", GridStr(), Szzls)) = ""
            End If
            '-------------结构增减--------------------
            dbl_Cha = -Val(.TextMatrix(iRow, Sydz("005", GridStr(), Szzls))) + Val(.TextMatrix(iRow, Sydz("003", GridStr(), Szzls)))
            .TextMatrix(iRow, Sydz("006", GridStr(), Szzls)) = IIf(dbl_Cha = 0, "", dbl_Cha)
            '-------------全年累计结构---------------------
            If dbl_LeiJiyearTotal <> 0 Then
                .TextMatrix(iRow, Sydz("008", GridStr(), Szzls)) = (dbl_LeiJiyear / dbl_LeiJiyearTotal) * 100
            Else
                .TextMatrix(iRow, Sydz("008", GridStr(), Szzls)) = ""
            End If
            '-----------------------------------
        Next
    End With
    
    Set clsIncClass = Nothing
End Sub

Private Sub date_Change()
    lab_Fxq.Caption = "分析期:"
    lab_Bjq.Caption = "比较期:"
    If intType = 1 Then '按季查询
        lab_fx.Caption = Space(4) & strBegin
        lab_bj.Caption = Space(4) & strEnd
        
    Else
        lab_fx.Caption = Space(4) & CStr(iThisYear) & IIf(iThisMonthBegin = 0, "", DATE_FIX & CStr(iThisMonthBegin))
        If bIFComp = True Then
            lab_bj.Caption = Space(4) & CStr(iThisYear) & IIf(iCompMonthBegin = 0, "", DATE_FIX & CStr(iCompMonthBegin))
        Else
            lab_bj.Caption = ""
        End If
        
    End If

End Sub

Private Sub FillGrid()
    If DEBUG_FLAG = False Then On Error Resume Next
    Dim iRow As Integer
    Dim iCol As Integer
    Dim dbl_Return As Double
    Dim dbl_BaseValue As Double '本期数据
    Dim dbl_OldValue As Double '上期数据
   GridStarCol = 2
    For iCol = GridStarCol To GridStarCol + iWriteCols - 1
        iRow = CxbbGrid.FixedRows
        
        
        lab_Fxq.Caption = "从:"
        lab_Bjq.Caption = "到:"
        If intType = 1 Then '按季查询
'                            lab_fx.Caption = CStr(iThisYear) & "." & CStr(iThisMonthBegin) & "-" & CStr(iThisYear) & "." & CStr(iThisMonthEnd)
'                            lab_bj.Caption = CStr(iThisYear) & "." & CStr(iCompMonthBegin) & "-" & CStr(iThisYear) & "." & CStr(iCompMonthEnd)
            lab_fx.Caption = strBegin
            lab_bj.Caption = strEnd
        Else
            lab_fx.Caption = CStr(iThisYear) & IIf(iThisMonthBegin = 0, "", DATE_FIX & CStr(iThisMonthBegin))
            lab_bj.Caption = CStr(iThisYear) & IIf(iThisMonthEnd = 0, "", DATE_FIX & CStr(iThisMonthEnd))
        End If
        
        
        
        
        
        
        
        
        With Rs
            If Not (.EOF And .BOF) Then
                .MoveFirst
                Do Until .EOF
                    DoEvents
                    If IsNull(!comment) = False Then
                        If iRow > CxbbGrid.Rows Then CxbbGrid.AddItem ""
                        Select Case strItem
                            Case "cwfx_IncJds" '绝对数分析
                                Label_Bfb.Visible = False

                                dbl_Return = TimeClass(Trim(!item), iCol)
                                CxbbGrid.TextMatrix(iRow, iCol) = IIf(dbl_Return = 0, "", dbl_Return)
                            Case "cwfx_IncDj" '定基分析
                                Label_Bfb.Visible = True
                                dbl_OldValue = TimeClass(Trim(!item), iCol)
                                
                                If iCol = GridStarCol Then '如果为起始列,则基数据为本期数据
                                    dbl_BaseValue = dbl_OldValue
                                    CxbbGrid.RowData(iRow) = dbl_OldValue '并保存基数据
                                Else '取保存的基数据为比较数据
                                    dbl_BaseValue = CxbbGrid.RowData(iRow)
                                End If
                                If dbl_BaseValue <> 0 Then
                                    dbl_Return = Format((dbl_OldValue / dbl_BaseValue * 100), "#,##0.##")
                                    CxbbGrid.TextMatrix(iRow, iCol) = IIf(dbl_Return = 0, "", CStr(dbl_Return) & "")
                                Else
                                    CxbbGrid.TextMatrix(iRow, iCol) = ""
                                End If
                                dbl_BaseValue = dbl_OldValue
                            Case "cwfx_IncHb" '环比分析
                                Label_Bfb.Visible = True
                                dbl_OldValue = TimeClass(Trim(!item), iCol)
                                If iCol = GridStarCol Then '如果为起始列,则基数据为本期数据
                                    dbl_BaseValue = dbl_OldValue
                                    CxbbGrid.RowData(iRow) = dbl_OldValue '并保存基数据
                                Else
                                    dbl_BaseValue = CxbbGrid.RowData(iRow)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -