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

📄

📁 财务分析 财财务分析务分析
💻
📖 第 1 页 / 共 3 页
字号:
Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)       '网格格式调整
  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_FrmAccountDeptC.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_FrmAccountDeptC
         '显示查询会计期间
        
        Lab_TitleText(0).Caption = .Lbl_Comment.Caption
        Str_Ccode = Trim(.LrText(0).Tag)
     
          
     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
   End With
   
   SqlStr = "exec cwfx_AccountDeptA " & "'" & Str_Ccode & "'," & _
    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("Deptname") '科目名称
            
            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 + -