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

📄

📁 财务分析 财财务分析务分析
💻
📖 第 1 页 / 共 3 页
字号:
  Select Case Button.Key
      Case "bcgs"                                          '保存表格格式
        Call Bcwggs(CxbbGrid, GridCode)
      Case "hfmrgs"                                        '恢复默认格式
        Call Hfmrgs(CxbbGrid, GridCode)
      Case "szxsxm"                                        '设置显示项目
        Call Szxsxm(CxbbGrid, GridCode)
  End Select
End Sub
Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
 Select Case Button.Key
      Case "ymsz"                                          '页面设置
          Dyymctbl.Show 1
      Case "yl"                                            '预 览
         Call bbyl(True)
      Case "dy"                                            '打 印
        Call bbyl(False)
      Case "cx"                                            '查 询
        YX_FrmAccountStruC.Show 1
      Case "bz"                                            '帮 助
        Call F1bz
      Case "fh"                                            '退 出
       Unload Me
   End Select
End Sub
Private Sub Timer1_Timer()                                 '在窗体激活后调入查询程序
   Timer1.Enabled = False
  
   Xt_Wait.Show
   Xt_Wait.Refresh
   
   '加快显示速度
   CxbbGrid.Redraw = False
 
   '生成查询结果
   Call Sub_Query
   
   CxbbGrid.Redraw = True
   
   Xt_Wait.Hide
   
End Sub
Private Sub Sub_Query()                                    '生成查询结果
    Dim Rec_Query As New ADODB.Recordset        '查询结果动态集
    Dim Rec_SumQuery As New ADODB.Recordset     '查询汇总结果动态集
    
    Dim SqlStr As String                        '查询动态连接字符串
    
    Dim i As Integer                                '为0清空循环变量
    Dim Str_Ccode As String                         '分析结构科目
    Dim Str_AccountType As String                   '分析结构科目方向
    Dim Int_Curr_year As Integer                    '分析期年
    Dim Int_Curr_month1 As Integer                  '分析期开始月
    Dim Int_Curr_month2 As Integer                  '分析期结束月
    Dim Int_Comp_year As Integer                    '比较期年
    Dim Int_Comp_month1 As Integer                  '比较期开始月
    Dim Int_Comp_month2 As Integer                  '比较期结束月
   
       
     '以下为用户自定义部分[
       
    With YX_FrmAccountStruC
         '显示查询会计期间
        
        Lab_TitleText(0).Caption = .Lbl_Comment.Caption
        Str_Ccode = Trim(.LrText(0).Tag)
        Str_AccountType = Trim(.Cbo_AccountType.Text)
     
          
     Select Case Len(.Combo_BaseDate.Text)    ' 判断 Number 的值。
        Case 4   '选择全年
            Int_Curr_year = Val(Mid(.Combo_BaseDate.Text, 1, 4))
            Int_Curr_month1 = 1
            Int_Curr_month2 = 12
            If Len(.Combo_SelYear.Text) <> 0 Then
                Int_Comp_year = Val(.Combo_SelYear.Text)
                Int_Comp_month1 = 1
                Int_Comp_month2 = 12
            End If
            
        Case 7   '选择了月份
            Int_Curr_year = Val(Mid(.Combo_BaseDate.Text, 1, 4))
            Int_Curr_month1 = Val(Mid(.Combo_BaseDate.Text, 6, 2))
            Int_Curr_month2 = Val(Mid(.Combo_BaseDate.Text, 6, 2))
            If Len(.Combo_CompDate.Text) <> 0 Then
                Int_Comp_year = Val(Mid(.Combo_CompDate.Text, 1, 4))
                Int_Comp_month1 = Val(Mid(.Combo_CompDate.Text, 6, 2))
                Int_Comp_month2 = Val(Mid(.Combo_CompDate.Text, 6, 2))
            End If
        Case 15  '选择了季度
            Int_Curr_year = Val(Mid(.Combo_BaseDate.Text, 1, 4))
            Int_Curr_month1 = Val(Mid(.Combo_BaseDate.Text, 6, 2))
            Int_Curr_month2 = Val(Mid(.Combo_BaseDate.Text, 14, 2))
            If Len(.Combo_CompDate.Text) <> 0 Then
                Int_Comp_year = Val(Mid(.Combo_CompDate.Text, 1, 4))
                Int_Comp_month1 = Val(Mid(.Combo_CompDate.Text, 6, 2))
                Int_Comp_month2 = Val(Mid(.Combo_CompDate.Text, 14, 2))
            End If
    End Select
    If Str_AccountType = "余额" Then
        Int_Curr_month1 = Int_Curr_month2
        Int_Comp_month1 = Int_Comp_month2
    End If
   End With
   
   SqlStr = "exec cwfx_AccountStruA " & "'" & Str_Ccode & "','" & Str_AccountType & "'," & _
    Int_Curr_year & "," & Int_Curr_month1 & "," & Int_Curr_month2 _
    & "," & Int_Comp_year & "," & Int_Comp_month1 & "," & Int_Comp_month2
   Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
   
    SqlStr = "select sum(Curr_V) as Sum_CurrV,sum(Comp_V) as Sum_CompV from tempdb.dbo.##temp"
    Set Rec_SumQuery = Cw_DataEnvi.DataConnect.Execute(SqlStr)
    
    SqlStr = "select * from tempdb.dbo.##temp"
    Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
     
    With Rec_Query
        CxbbGrid.Rows = CxbbGrid.FixedRows
        CxbbGrid.Rows = CxbbGrid.FixedRows + .RecordCount
        Jsqte = CxbbGrid.FixedRows
        
        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
            CxbbGrid.TextMatrix(Jsqte, Sydz("006", 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("004", GridStr(), Szzls)) = 0
            Else
                CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = .Fields("Comp_V")
            End If
        
            If Not (Rec_SumQuery.Fields("Sum_CurrV") = 0 Or IsNull(Rec_SumQuery.Fields("Sum_CurrV")) Or IsNull(.Fields("Curr_V"))) Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = .Fields("Curr_V") / Rec_SumQuery.Fields("Sum_CurrV") * 100
            End If
            If Not (Rec_SumQuery.Fields("Sum_CompV") = 0 Or IsNull(Rec_SumQuery.Fields("Sum_CompV")) Or IsNull(.Fields("Comp_V"))) Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = .Fields("Comp_V") / Rec_SumQuery.Fields("Sum_CompV") * 100
            End If
            
            CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = _
                    Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls))) - _
                    Val(CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)))
            
        
            For i = 2 To 6                    '从第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 + 6 - 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
    CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = 0
         
      
    With Rec_SumQuery
        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("004", GridStr(), Szzls)) = 0
        Else
            CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = .Fields("Sum_CompV")
        End If
    
        If Rec_SumQuery.Fields("Sum_CurrV") <> 0 Then
            CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = 100
        End If
        If Rec_SumQuery.Fields("Sum_CompV") <> 0 Then
            CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = 100
        End If
        
    End With
        
        
    For i = 2 To 6                    '从第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
    
    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 + -