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

📄

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 4 页
字号:
                CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("DeptName") & "")
            End If
            '个人
            If Trim(.Fields("PersonName") & "") <> "" Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("PersonName") & "")
            End If
            '客户
            If Trim(.Fields("CusName") & "") <> "" Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("CusName") & "")
            End If
            '项目
            If Trim(.Fields("ItemName") & "") <> "" Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("ItemName") & "")
            End If
            
            If .Fields("Jfje") <> 0 Then                                                                       '借方金额
                CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = .Fields("Jfje")
                If Fun_CcodeCol(Str_Ccode, "借") <> 0 Then
                    CxbbGrid.TextMatrix(Jsqte, Fun_CcodeCol(Str_Ccode, "借")) = .Fields("Jfje")
                End If
            End If
            If .Fields("Dfje") <> 0 Then                                                                       '贷方金额
                CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = .Fields("Dfje")
                If Fun_CcodeCol(Str_Ccode, "贷") <> 0 Then
                    CxbbGrid.TextMatrix(Jsqte, Fun_CcodeCol(Str_Ccode, "贷")) = .Fields("Dfje")
                End If
            End If
            
            '累加本月合计,本年累计数据
            Dbl_Jejfhj = Dbl_Jejfhj + .Fields("Jfje")
            Dbl_Jedfhj = Dbl_Jedfhj + .Fields("Dfje")
            If Fun_CcodeCol(Str_Ccode, "借") <> 0 Then
                Dbl_JejfhjDlz(Fun_CcodeCol(Str_Ccode, "借")) = Dbl_JejfhjDlz(Fun_CcodeCol(Str_Ccode, "借")) + .Fields("Jfje")
            End If
            If Fun_CcodeCol(Str_Ccode, "贷") <> 0 Then
                Dbl_JedfhjDlz(Fun_CcodeCol(Str_Ccode, "贷")) = Dbl_JedfhjDlz(Fun_CcodeCol(Str_Ccode, "贷")) + .Fields("Dfje")
            End If
            
            Dbl_Jejflj = Dbl_Jejflj + .Fields("Jfje")
            Dbl_Jedflj = Dbl_Jedflj + .Fields("Dfje")
            If Fun_CcodeCol(Str_Ccode, "借") <> 0 Then
                Dbl_JejfljDlz(Fun_CcodeCol(Str_Ccode, "借")) = Dbl_JejfljDlz(Fun_CcodeCol(Str_Ccode, "借")) + .Fields("Jfje")
            End If
            If Fun_CcodeCol(Str_Ccode, "贷") <> 0 Then
                Dbl_JedfljDlz(Fun_CcodeCol(Str_Ccode, "贷")) = Dbl_JedfljDlz(Fun_CcodeCol(Str_Ccode, "贷")) + .Fields("Dfje")
            End If
            
            '3.计算余额
            Dbl_Qcyete = Dbl_Qcyete + .Fields("Jfje") - .Fields("Dfje")
            
            '输出余额
            Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
            
            
            '跳过无效记录
Wxjl:
            
            .MoveNext
            
            '计算是否输出承前/过次行(如果用户选择输出承前/过次)
            If Bln_CqGcShow Then
                If Not .EOF Then
                    If .Fields("Period") = Int_DqPeriod Then
                        Call Sub_OutQcGc(Jsqte, Int_Zdzyhs, Int_DqPeriod, Dbl_Jejfhj, Dbl_Jedfhj, Dbl_Qcyete, Dbl_JejfhjDlz(), Dbl_JedfhjDlz())
                    End If
                End If
            End If
            
        Loop
        
        '添加本月合计及本年累计
        
        If Lng_MonthCount <> 0 Then
            CxbbGrid.AddItem ""
            Jsqte = Jsqte + 1
            
            '输出本月合计
            Call Sub_OutPeriodSum(Jsqte, Int_DqPeriod, Dbl_Jejfhj, Dbl_Jedfhj, Dbl_JejfhjDlz(), Dbl_JedfhjDlz())
            
            '输出余额
            Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
        End If
        
        '显示本年累计
        If Lng_YearCount <> 0 Then
            CxbbGrid.AddItem ""
            Jsqte = Jsqte + 1
            
            '输出本年累计
            Call Sub_OutYearSum(Jsqte, Int_DqPeriod, Dbl_Jejflj, Dbl_Jedflj, Dbl_JejfljDlz(), Dbl_JedfljDlz())
            
            '输出余额
            Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
        End If
        
    End With
    
    '重置网格行高
    For Jsqte = CxbbGrid.FixedRows To CxbbGrid.Rows - 1
        CxbbGrid.RowHeight(Jsqte) = Sjhgd
    Next Jsqte
    
End Sub

Private Function Fun_CcodeCol(Str_Ccode As String, Optional Yefx As String) As Long          '科目与网格列对应值
    Dim Int_Maxlen As Integer
    Dim Coljsq As Long
    Fun_CcodeCol = 0
    Int_Maxlen = Len(Trim(Str_Ccode))
    For Jsqte = Int_Maxlen To 1 Step -1
        For Coljsq = Szzls + 1 To CxbbGrid.Cols - 1
            If Trim(Yefx) = "" Then
                If Str_ItemCol(Coljsq) = Mid(Trim(Str_Ccode), 1, Jsqte) Then
                    Fun_CcodeCol = Coljsq
                    Exit Function
                End If
            Else
                If Str_ItemCol(Coljsq) = Mid(Trim(Str_Ccode), 1, Jsqte) And Str_AnalyCol(Coljsq) = Trim(Yefx) Then
                    Fun_CcodeCol = Coljsq
                    Exit Function
                End If
            End If
        Next Coljsq
    Next Jsqte
End Function

Private Sub Sub_OutBalance(Jsqte As Long, Dbl_Qcyete#)         '输出余额
    If Dbl_Qcyete = 0 Then
        CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = "平"          '期初方向
    Else
        If Dbl_Qcyete > 0 Then
            CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = "借"
            CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Dbl_Qcyete
        Else
            CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = "贷"
            CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = -Dbl_Qcyete
        End If
    End If
End Sub

Private Sub Sub_OutPeriodSum(Jsqte As Long, Int_DqPeriod%, Dbl_Jejfhj#, Dbl_Jedfhj#, Dbl_JejfhjDlz() As Double, Dbl_JedfhjDlz() As Double)    '输出本月合计
    Dim Lng_ColJsq As Long     '网格列值
    
    CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本月合计"
    If Dbl_Jejfhj <> 0 Then                                                        '本月借方金额合计
        CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejfhj
    End If
    If Dbl_Jedfhj <> 0 Then                                                        '本月贷方金额合计
        CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedfhj
    End If
    
    '多栏帐部分本月合计填充
    For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
        If Dbl_JejfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
            CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfhjDlz(Lng_ColJsq)
        End If
        If Dbl_JedfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
            CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfhjDlz(Lng_ColJsq)
        End If
    Next Lng_ColJsq
End Sub

Private Sub Sub_OutYearSum(Jsqte As Long, Int_DqPeriod%, Dbl_Jejflj#, Dbl_Jedflj#, Dbl_JejfljDlz() As Double, Dbl_JedfljDlz() As Double) '输出本年累计
    CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本年累计"
    If Dbl_Jejflj <> 0 Then                                                        '本年借方金额累计
        CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejflj
    End If
    If Dbl_Jedflj <> 0 Then                                                        '本年贷方金额累计
        CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedflj
    End If
    
    '多栏帐部分本年累计填充
    For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
        If Dbl_JejfljDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
            CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfljDlz(Lng_ColJsq)
        End If
        If Dbl_JedfljDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
            CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfljDlz(Lng_ColJsq)
        End If
    Next Lng_ColJsq
End Sub

Private Sub Sub_OutQcGc(Jsqte As Long, Int_Zdzyhs%, Int_DqPeriod%, Dbl_Jejfhj#, Dbl_Jedfhj#, Dbl_Qcyete#, Dbl_JejfhjDlz() As Double, Dbl_JedfhjDlz() As Double)          '输出承前/过次行
    If (Jsqte - CxbbGrid.FixedRows + 2) Mod Int_Zdzyhs = 0 Then
        CxbbGrid.AddItem ""
        Jsqte = Jsqte + 1
        CxbbGrid.Cell(flexcpBackColor, Jsqte, 0, , CxbbGrid.Cols - 1) = Lab_Color(1).BackColor
        CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
        CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "过次页"
        If Dbl_Jejfhj <> 0 Then                                                        '本月借方金额合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejfhj
        End If
        If Dbl_Jedfhj <> 0 Then                                                        '本月贷方金额合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedfhj
        End If
        
        '输出余额
        Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
        
        '多栏帐部分承前过次填充
        For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
            If Dbl_JejfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
                CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfhjDlz(Lng_ColJsq)
            End If
            If Dbl_JedfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
                CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfhjDlz(Lng_ColJsq)
            End If
        Next Lng_ColJsq
        
        CxbbGrid.AddItem ""
        Jsqte = Jsqte + 1
        CxbbGrid.Cell(flexcpBackColor, Jsqte, 0, , CxbbGrid.Cols - 1) = Lab_Color(2).BackColor
        CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
        CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "承前页"
        If Dbl_Jejfhj <> 0 Then                                                        '本月借方金额合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Jejfhj
        End If
        If Dbl_Jedfhj <> 0 Then                                                        '本月贷方金额合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Dbl_Jedfhj
        End If
        
        '输出余额
        Call Sub_OutBalance(Jsqte, Dbl_Qcyete)
        
        '多栏帐部分承前过次填充
        For Lng_ColJsq = Szzls + 1 To CxbbGrid.Cols - 1
            If Dbl_JejfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "借" Then
                CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JejfhjDlz(Lng_ColJsq)
            End If
            If Dbl_JedfhjDlz(Lng_ColJsq) <> 0 And Str_AnalyCol(Lng_ColJsq) = "贷" Then
                CxbbGrid.TextMatrix(Jsqte, Lng_ColJsq) = Dbl_JedfhjDlz(Lng_ColJsq)
            End If
        Next Lng_ColJsq
        
    End If
End Sub

Private Sub CxbbGrid_DblClick()          '用户双击网格调入相应凭证
    Dim RecTemp As New ADODB.Recordset
    
    With CxbbGrid
        '非数据行退出
        If CxbbGrid.Row < CxbbGrid.FixedRows Then
            Exit Sub
        End If
        If Trim(.TextMatrix(.Row, 0)) = "" Then
            Exit Sub
        End If
    End With
    Sqlstr = "SELECT VouchID From Cwzz_AccVouchMain" & _
    " Where VouchID=" & Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
    
    Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    
    With RecTemp
        
        If .EOF Then
            Tsxx = "此凭证已被其他用户删除!"
            Call Xtxxts(Tsxx, 0, 4)
            Exit Sub
        Else
            
            With PZ_JzpzclFrm
                '填充查询凭证标识
                .Lab_VouchId = Trim(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
                
                '设置凭证处理为列表查询状态
                .Lab_Pzclzt.Caption = "4"
                
                .Show 1
                
            End With
            
        End If
        
    End With
    
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) + "多栏帐名称:" + Me.Lab_AccMultiName.Caption
    bbxbtzzxs(1) = 1                                     '报表行组织形式(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 + -