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

📄

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 3 页
字号:
    
    '加快显示速度
    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 SqlStr As String                        '查询动态连接字符串
    
    Dim I As Integer                             '为0清空循环变量
    Dim Dtm_CurrBegin As Date                        '分析期间查询开始日期
    Dim Dtm_CurrEnd As Date                          '分析期间查询结束日期
    Dim Dtm_CompBegin As Date                        '对比期间查询开始日期
    Dim Dtm_CompEnd As Date                          '对比期间查询结束日期
    
    Dim Curr_V As Currency
    Dim Comp_V As Currency
    Dim Sum_CurrV As Currency
    Dim Sum_CompV As Currency
    
    
    
    '以下为用户自定义部分[
    
    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_Sp_CashCompare '" & Dtm_CurrBegin & "','" & Dtm_CurrEnd & "','" & Dtm_CompBegin & "','" & Dtm_CompEnd & "'"
    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
        
        Sum_CurrV = 0
        Sum_CompV = 0
        
        '填写现金流入具体项目
        .Filter = "direction = 0"
        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
            
            Curr_V = IIf(IsNull(.Fields("Curr_V")), 0, .Fields("Curr_V"))
            Comp_V = IIf(IsNull(.Fields("Comp_V")), 0, .Fields("Comp_V"))
            
            CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Curr_V
            CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Comp_V
            
            
            CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
            Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
            Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
            
            If Comp_V <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (Curr_V - Comp_V) / 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
            
            Sum_CurrV = Sum_CurrV + Curr_V
            Sum_CompV = Sum_CompV + Comp_V
            
            '移动到下一条记录
            .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
    
    CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Sum_CurrV
    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Sum_CompV
            
    CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
    Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
    Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
        
    If Sum_CompV <> 0 Then
        CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (Sum_CurrV - Sum_CompV) / Sum_CompV * 100
    End If
    
    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
    
    If Rec_Query.RecordCount <> 0 Then Rec_Query.MoveFirst
    
    '以下为现金流出项目
    Jsqte = Jsqte + 1
    
    With Rec_Query
        
        If Jsqte >= CxbbGrid.Rows Then
            CxbbGrid.AddItem ""
        End If
        
        CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "现金流出科目"
        Jsqte = Jsqte + 1
        
        Sum_CurrV = 0
        Sum_CompV = 0
        
        '填写现金流出具体项目
        .Filter = "direction = 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
            
            Curr_V = IIf(IsNull(.Fields("Curr_V")), 0, .Fields("Curr_V"))
            Comp_V = IIf(IsNull(.Fields("Comp_V")), 0, .Fields("Comp_V"))
            
            CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Curr_V
            CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Comp_V
            
            
            CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
            Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
            Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
            
            If Comp_V <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (Curr_V - Comp_V) / 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
            
            Sum_CurrV = Sum_CurrV + Curr_V
            Sum_CompV = Sum_CompV + Comp_V
            
            '移动到下一条记录
            .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
    
    
    CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Sum_CurrV
    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Sum_CompV
            
    CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = _
    Val(CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls))) - _
    Val(CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)))
        
    If Sum_CompV <> 0 Then
        CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = (Sum_CurrV - Sum_CompV) / Sum_CompV * 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
    
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 + -