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

📄 z

📁 财务分析 财财务分析务分析
💻
📖 第 1 页 / 共 3 页
字号:
      Case "dy"                                            '打 印
        Call bbyl(False)
      Case "cx"                                            '查 询
        Call BalFx2(strItem)
        If Me.bSeach = True Then
            If DEBUG_FLAG = False Then Xt_Wait.Show
            Call FormInit
            Me.bSeach = False
            If DEBUG_FLAG = False Then Xt_Wait.Hide
        End If
      Case "bz"                                            '帮 助
        Call F1bz
      Case "fh"                                            '退 出
        Unload Me
    Case "xx"
        pub_SelDate2.Show vbModal
   End Select
End Sub
Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  If DEBUG_FLAG = False Then On Error Resume Next
  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_Fxq.Caption & lab_fx.Caption & Space(20) & lab_Bjq.Caption & lab_bj.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


Private Sub GetBalZiChan()
    If DEBUG_FLAG = False Then On Error Resume Next
    '填充资产类项目
    Dim iRow As Integer
    Set Rs = Cw_DataEnvi.DataConnect.Execute("select * from cwfx_BalanceInitial")
    
    iWriteRows = Rs.RecordCount - 1 '循环写入行数
    
    With CxbbGrid
        iRow = .FixedRows
        If Me.strItem = "cwfx_BalJg" Then
            dbl_ZiChan = TimeClass2("资产合计", "001") '本期资产合计
            If iCompYear <> 0 Then
                dbl_ZiChanComp = TimeClass2("资产合计", "003") '比较期资产合计
            End If
            
            dbl_FuZhai = TimeClass2("负债和所有者权益合计", "001") '本期负债合计
            If iCompYear <> 0 Then
                dbl_FuZhaiComp = TimeClass2("负债和所有者权益合计", "003") '比较期负债合计
            End If
        End If
        
        Do Until Rs.EOF
            .AddItem ""
            .TextMatrix(iRow, 0) = RTrim(Rs!leftorright)
            .TextMatrix(iRow, Sydz("001", GridStr(), Szzls)) = RTrim(Rs!comment)
            If IsNull(Rs!Account) = False Then Call FillGrid(Trim(Rs!item), iRow)
            .RowHeight(iRow) = Sjhgd
            Rs.MoveNext
            iRow = iRow + 1
        Loop
    End With
End Sub

Private Sub AddGridCol()
    If DEBUG_FLAG = False Then On Error Resume Next
    Dim item As Integer
    Dim i As Integer
    
    iWriteCols = 0 '循环写入写数置0
    itype = Me.intType
    Select Case itype
        Case 0 '月
            If iBeginMonth > iEndMonth Then
                item = iBeginMonth
                iBeginMonth = iEndMonth
                iEndMonth = item
            End If
            
            For i = iBeginMonth To iEndMonth
                iWriteCols = iWriteCols + 1
                With CxbbGrid
                    .Cols = .Cols + 1
                    .FixedAlignment(.Cols - 1) = flexAlignCenterCenter
                    .CellAlignment = flexAlignRightCenter
                    .TextMatrix(.FixedRows - 1, .Cols - 1) = CStr(Xtyear) & DATE_FIX & Format(i, "00") & ""
                    
                End With
            Next
        Case 1 '季
        
            If iBeginMonth > iEndMonth Then
                item = iBeginMonth
                iBeginMonth = iEndMonth
                iEndMonth = item
            End If
        
            For i = iBeginMonth To iEndMonth Step 3
            
                iWriteCols = iWriteCols + 1
                
                With CxbbGrid
                    .Cols = .Cols + 1
                    .FixedAlignment(.Cols - 1) = flexAlignCenterCenter
                    .CellAlignment = flexAlignRightCenter
                    .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 iYear > iExYear Then
                item = iYear
                iYear = iExYear
                iExYear = item
            End If
            
            For i = iExYear To iYear
            
                iWriteCols = iWriteCols + 1
            
                With CxbbGrid
                    .Cols = .Cols + 1
                    .FixedAlignment(.Cols - 1) = flexAlignCenterCenter
                    .CellAlignment = flexAlignRightCenter
                    .TextMatrix(.FixedRows - 1, .Cols - 1) = CStr(i) & "年"
                End With
            Next
    End Select
    
End Sub
'=================写数据到表格===========================================
Private Sub FillGrid(ByVal strItem As String, ByVal iRow As Integer)
    If DEBUG_FLAG = False Then On Error Resume Next
    Dim dbl_Fx As Double '分析期数据
    Dim dbl_Bj As Double '比较期数据
    Dim dbl_Cha As Double '差
    
    Dim dbl_Bi As Double '比值
    
    Dim dbl_fxBi As Double '比值
    Dim dbl_dbBi As Double '比值
    
    Select Case Me.strItem
        Case "cwfx_BalDb"
            dbl_Fx = TimeClass(strItem, "002")
            dbl_Bj = TimeClass(strItem, "003")
            dbl_Cha = dbl_Fx - dbl_Bj
            
            If dbl_Bj <> 0 Then
                dbl_Bi = dbl_Cha / dbl_Bj
            End If
            
            With CxbbGrid
                
                CxbbGrid.TextMatrix(iRow, Sydz("002", GridStr(), Szzls)) = IIf(dbl_Fx = 0, "", dbl_Fx)
                CxbbGrid.TextMatrix(iRow, Sydz("003", GridStr(), Szzls)) = IIf(dbl_Bj = 0, "", dbl_Bj)
                CxbbGrid.TextMatrix(iRow, Sydz("004", GridStr(), Szzls)) = IIf(dbl_Cha = 0, "", dbl_Cha)
                CxbbGrid.TextMatrix(iRow, Sydz("005", GridStr(), Szzls)) = IIf(dbl_Bi = 0, "", CStr(dbl_Bi) * 100)
            End With
    
    Case "cwfx_BalJg"
            dbl_Fx = TimeClass2(strItem, "002")
            dbl_Bj = TimeClass2(strItem, "004")
            
            If CBool(CxbbGrid.TextMatrix(iRow, 0)) = True Then
                '资产类
                If dbl_ZiChan <> 0 Then
                    dbl_fxBi = dbl_Fx / dbl_ZiChan  '分析期结构
                Else
                    dbl_fxBi = 0
                End If
                If dbl_ZiChanComp <> 0 Then
                    dbl_dbBi = dbl_Bj / dbl_ZiChanComp  '比较期结构
                Else
                    dbl_dbBi = 0
                End If
            Else
                '负债类
                If dbl_FuZhai <> 0 Then
                    dbl_fxBi = dbl_Fx / dbl_FuZhai  '分析期结构
                Else
                    dbl_fxBi = 0
                End If
                If dbl_FuZhaiComp <> 0 Then
                    dbl_dbBi = dbl_Bj / dbl_FuZhaiComp  '比较期结构
                Else
                    dbl_dbBi = 0
                End If
            End If
            
            
            With CxbbGrid
                
                CxbbGrid.TextMatrix(iRow, Sydz("002", GridStr(), Szzls)) = IIf(dbl_Fx = 0, "", dbl_Fx)
                CxbbGrid.TextMatrix(iRow, Sydz("003", GridStr(), Szzls)) = IIf(dbl_fxBi = 0, "", CStr(dbl_fxBi) * 100)
                CxbbGrid.TextMatrix(iRow, Sydz("004", GridStr(), Szzls)) = IIf(dbl_Bj = 0, "", dbl_Bj)
                CxbbGrid.TextMatrix(iRow, Sydz("005", GridStr(), Szzls)) = IIf(dbl_dbBi = 0, "", CStr(dbl_dbBi) * 100)
                CxbbGrid.TextMatrix(iRow, Sydz("006", GridStr(), Szzls)) = IIf((dbl_fxBi - dbl_dbBi) = 0, "", CStr(dbl_fxBi - dbl_dbBi) * 100)
            End With
    End Select
    
End Sub

Private Function TimeClass(ByVal ItemClass As String, ByVal cCol As String) As Double
    If DEBUG_FLAG = False Then On Error Resume Next
    Dim iTemMonthBegin As Integer
    Dim iTemMonthEnd As Integer
    Dim iTemYear As Integer
    itype = Me.intType
    Select Case itype
        Case 0 '月
            If cCol = "002" Then '分析期
                iTemYear = iThisYear
                iTemMonthBegin = iThisMonthBegin
                iTemMonthEnd = iThisMonthEnd
            ElseIf cCol = "003" Then '比较期
                iTemYear = iCompYear
                iTemMonthBegin = iCompMonthBegin
                iTemMonthEnd = iCompMonthEnd
            End If
            
            TimeClass = myclsBal.GetPeriodValue(ItemClass, iTemMonthEnd, iTemYear)
        
        Case 1 '季
            If cCol = "002" Then '分析期
                iTemYear = iThisYear
                iTemMonthBegin = iThisMonthBegin
                iTemMonthEnd = iThisMonthEnd
            ElseIf cCol = "003" Then '比较期
                iTemYear = iCompYear
                iTemMonthBegin = iCompMonthBegin
                iTemMonthEnd = iCompMonthEnd
            End If
            
            TimeClass = myclsBal.GetPeriodValue(ItemClass, iTemMonthEnd, iTemYear)
        Case 2 '年
            If cCol = "002" Then '分析期
                iTemYear = iThisYear
            ElseIf cCol = "003" Then '比较期
                iTemYear = iCompYear
            End If
            
            TimeClass = myclsBal.GetPeriodValue(ItemClass, 12, iTemYear)
    End Select
End Function
Private Function TimeClass2(ByVal ItemClass As String, ByVal cCol As String) As Double
    If DEBUG_FLAG = False Then On Error Resume Next
    Dim iTemMonthBegin As Integer
    Dim iTemMonthEnd As Integer
    Dim iTemYear As Integer
    itype = Me.intType
    Select Case itype
        Case 0 '月
            If cCol = "001" Or cCol = "002" Then '分析期
                iTemYear = iThisYear
                iTemMonthBegin = iThisMonthBegin
                iTemMonthEnd = iThisMonthEnd
            ElseIf cCol = "003" Or cCol = "004" Then '比较期
                iTemYear = iCompYear
                iTemMonthBegin = iCompMonthBegin
                iTemMonthEnd = iCompMonthEnd
            End If
            
            TimeClass2 = myclsBal.GetPeriodValue(ItemClass, iTemMonthEnd, iTemYear)
        
        Case 1 '季
            If cCol = "001" Or cCol = "002" Then '分析期
                iTemYear = iThisYear
                iTemMonthBegin = iThisMonthBegin
                iTemMonthEnd = iThisMonthEnd
            ElseIf cCol = "003" Or cCol = "004" Then '比较期
                iTemYear = iCompYear
                iTemMonthBegin = iCompMonthBegin
                iTemMonthEnd = iCompMonthEnd
            End If
            
            TimeClass2 = myclsBal.GetPeriodValue(ItemClass, iTemMonthEnd, iTemYear)
        Case 2 '年
            If cCol = "001" Or cCol = "002" Then  '分析期
                iTemYear = iThisYear
            ElseIf cCol = "003" Or cCol = "004" Then '比较期
                iTemYear = iCompYear
            End If
            
            TimeClass2 = myclsBal.GetPeriodValue(ItemClass, 12, iTemYear)
    End Select
End Function
'========================================================================

⌨️ 快捷键说明

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