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

📄 +

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
            Dbl_Now(4) = Val(.TextMatrix(Yxxpdh, Sydz("009", GridStr(), Szzls)))       '期末余额
            Dbl_Now(5) = Val(.TextMatrix(Yxxpdh, Sydz("010", GridStr(), Szzls)))       '年初数量
            Dbl_Now(6) = Val(.TextMatrix(Yxxpdh, Sydz("011", GridStr(), Szzls)))       '本年借方累计数量
            Dbl_Now(7) = Val(.TextMatrix(Yxxpdh, Sydz("012", GridStr(), Szzls)))       '本年贷方累计金额
            Dbl_Now(8) = Val(.TextMatrix(Yxxpdh, Sydz("013", GridStr(), Szzls)))       '期末数量
            Dbl_Now(9) = Val(.TextMatrix(Yxxpdh, Sydz("014", GridStr(), Szzls)))       '年初外币
            Dbl_Now(10) = Val(.TextMatrix(Yxxpdh, Sydz("015", GridStr(), Szzls)))      '本年借方累计外币
            Dbl_Now(11) = Val(.TextMatrix(Yxxpdh, Sydz("016", GridStr(), Szzls)))      '本年贷方累计外币
            Dbl_Now(12) = Val(.TextMatrix(Yxxpdh, Sydz("017", GridStr(), Szzls)))      '期末余额
        Else
            Dbl_Now(1) = -Val(.TextMatrix(Yxxpdh, Sydz("006", GridStr(), Szzls)))      '年初余额
            Dbl_Now(2) = Val(.TextMatrix(Yxxpdh, Sydz("007", GridStr(), Szzls)))       '本年借方累计金额
            Dbl_Now(3) = Val(.TextMatrix(Yxxpdh, Sydz("008", GridStr(), Szzls)))       '本年贷方累计金额
            Dbl_Now(4) = -Val(.TextMatrix(Yxxpdh, Sydz("009", GridStr(), Szzls)))      '期末余额
            Dbl_Now(5) = -Val(.TextMatrix(Yxxpdh, Sydz("010", GridStr(), Szzls)))      '年初数量
            Dbl_Now(6) = Val(.TextMatrix(Yxxpdh, Sydz("011", GridStr(), Szzls)))       '本年借方累计数量
            Dbl_Now(7) = Val(.TextMatrix(Yxxpdh, Sydz("012", GridStr(), Szzls)))       '本年贷方累计金额
            Dbl_Now(8) = -Val(.TextMatrix(Yxxpdh, Sydz("013", GridStr(), Szzls)))      '期末数量
            Dbl_Now(9) = -Val(.TextMatrix(Yxxpdh, Sydz("014", GridStr(), Szzls)))      '年初外币
            Dbl_Now(10) = Val(.TextMatrix(Yxxpdh, Sydz("015", GridStr(), Szzls)))      '本年借方累计外币
            Dbl_Now(11) = Val(.TextMatrix(Yxxpdh, Sydz("016", GridStr(), Szzls)))      '本年贷方累计外币
            Dbl_Now(12) = -Val(.TextMatrix(Yxxpdh, Sydz("017", GridStr(), Szzls)))     '期末余额
        End If
        
    End With
    
    
    On Error GoTo Swcwcl
    
    Cw_DataEnvi.DataConnect.BeginTrans
    
    '1.登记总帐(注意需要对其上级科目记帐)
    
    Int_LevTe = 1
    
    Do While True
        Str_Parent = Trim(Mid(Str_Ccode, 1, Int_CodeScheme(Int_LevTe)))
        
        With Rec_AccSum
            
            If .State = 1 Then .Close
            .Open "SELECT Cwzz_AccSum.* From Cwzz_AccSum WHERE Ccode='" & Str_Parent & "' And Year =" & Int_OriYear & " AND Period = 1", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
            
            '判断记帐科目是否存在,如存在则替换原有数据,否则插入新记录
            
            If Not Rec_AccSum.EOF Then
                
                '判断是否为末级科目,如是则替换原有数据,否则先减去原有数据再增加现录数据
                
                If Str_Parent = Str_Ccode Then
                    .Fields("Ycye") = Dbl_Now(1)                                            '年初余额
                    .Fields("Qcye") = Dbl_Now(1)                                            '期初余额
                    .Fields("Mjje") = Dbl_Now(2)                                            '本月借方金额合计
                    .Fields("Mdje") = Dbl_Now(3)                                            '本月贷方金额合计
                    .Fields("Byjfljje") = Dbl_Now(2)                                        '本月借方金额合计
                    .Fields("Bydfljje") = Dbl_Now(3)                                        '本月贷方金额合计
                    .Fields("Qmye") = Dbl_Now(4)                                            '期末余额
                    
                    .Fields("Ycsl") = Dbl_Now(5)                                            '年初数量
                    .Fields("Qcsl") = Dbl_Now(5)                                            '期初数量
                    .Fields("Mjsl") = Dbl_Now(6)                                            '本月借方数量合计
                    .Fields("Mdsl") = Dbl_Now(7)                                            '本月贷方数量合计
                    .Fields("Byjfljsl") = Dbl_Now(6)                                        '本月借方数量合计
                    .Fields("Bydfljsl") = Dbl_Now(7)                                        '本月贷方数量合计
                    .Fields("Qmsl") = Dbl_Now(8)                                            '期末数量
                    
                    '如为外币核算则用外币录入金额替换,否则填入本位币金额
                    If Bln_Foreign Then
                        .Fields("Ycwb") = Dbl_Now(9)                                         '年初原币
                        .Fields("Qcwb") = Dbl_Now(9)                                         '期初原币
                        .Fields("Mjwb") = Dbl_Now(10)                                        '本月借方原币合计
                        .Fields("Mdwb") = Dbl_Now(11)                                        '本月贷方原币合计
                        .Fields("Byjfljwb") = Dbl_Now(10)                                    '本月借方原币合计
                        .Fields("Bydfljwb") = Dbl_Now(11)                                    '本月贷方原币合计
                        .Fields("Qmwb") = Dbl_Now(12)                                        '期末原币
                    Else
                        .Fields("Ycwb") = Dbl_Now(1)                                         '年初原币
                        .Fields("Qcwb") = Dbl_Now(1)                                         '期初原币
                        .Fields("Mjwb") = Dbl_Now(2)                                         '本月借方原币合计
                        .Fields("Mdwb") = Dbl_Now(3)                                         '本月贷方原币合计
                        .Fields("Byjfljwb") = Dbl_Now(2)                                     '本月借方原币合计
                        .Fields("Bydfljwb") = Dbl_Now(3)                                     '本月贷方原币合计
                        .Fields("Qmwb") = Dbl_Now(4)                                         '期末原币
                    End If
                Else
                    .Fields("Ycye") = .Fields("Ycye") + Dbl_Now(1) - Dbl_Ori(1)             '年初余额
                    .Fields("Qcye") = .Fields("Ycye")                                       '期初余额
                    .Fields("Byjfljje") = .Fields("Byjfljje") + Dbl_Now(2) - Dbl_Ori(2)     '本年借方金额累计
                    .Fields("Bydfljje") = .Fields("Bydfljje") + Dbl_Now(3) - Dbl_Ori(3)     '本年贷方金额累计
                    .Fields("Mjje") = .Fields("Byjfljje")                                   '本月借方金额合计
                    .Fields("Mdje") = .Fields("Bydfljje")                                   '本月贷方金额合计
                    .Fields("Qmye") = .Fields("Qmye") + Dbl_Now(4) - Dbl_Ori(4)             '期末余额
                End If
                
                .Update
                
                '更新其他各会计期间数据
                Sqlstr = "Update Cwzz_AccSum Set Ycye=" & .Fields("Ycye") & ",Qcye=" & .Fields("Qmye") & ",Byjfljje=" & .Fields("Byjfljje") & ",Bydfljje=" & .Fields("Bydfljje") & ",Qmye=" & .Fields("Qmye") & _
                ",Ycsl=" & .Fields("Ycsl") & ",Qcsl=" & .Fields("Qmsl") + 0 & ",Byjfljsl=" & .Fields("Byjfljsl") + 0 & ",Bydfljsl=" & .Fields("Bydfljsl") + 0 & ",Qmsl=" & .Fields("Qmsl") + 0 & _
                ",Ycwb=" & .Fields("Ycwb") & ",Qcwb=" & .Fields("Qmwb") + 0 & ",Byjfljwb=" & .Fields("Byjfljwb") + 0 & ",Bydfljwb=" & .Fields("Bydfljwb") + 0 & ",Qmwb=" & .Fields("Qmwb") + 0 & _
                " Where Ccode='" & Str_Parent & "' And Year=" & Int_OriYear & " And Period >1"
                
                Cw_DataEnvi.DataConnect.Execute (Sqlstr)
                
            Else
                
                .AddNew
                .Fields("Ccode") = Str_Parent                                           '科目编码
                .Fields("Year") = Int_OriYear                                           '会计年度
                .Fields("Period") = 1                                                   '会计期间
                .Fields("Ycye") = Dbl_Now(1)                                            '年初余额
                .Fields("Qcye") = Dbl_Now(1)                                            '期初余额
                .Fields("Mjje") = Dbl_Now(2)                                            '本月借方金额合计
                .Fields("Mdje") = Dbl_Now(3)                                            '本月贷方金额合计
                .Fields("Byjfljje") = Dbl_Now(2)                                        '本月借方金额合计
                .Fields("Bydfljje") = Dbl_Now(3)                                        '本月贷方金额合计
                .Fields("Qmye") = Dbl_Now(4)                                            '期末余额
                
                If Str_Parent = Str_Ccode Then
                    .Fields("Ycsl") = Dbl_Now(5)                                            '年初数量
                    .Fields("Qcsl") = Dbl_Now(5)                                            '期初数量
                    .Fields("Mjsl") = Dbl_Now(6)                                            '本月借方数量合计
                    .Fields("Mdsl") = Dbl_Now(7)                                            '本月贷方数量合计
                    .Fields("Byjfljsl") = Dbl_Now(6)                                        '本月借方数量合计
                    .Fields("Bydfljsl") = Dbl_Now(7)                                        '本月贷方数量合计
                    .Fields("Qmsl") = Dbl_Now(8)                                            '期末数量
                    
                    If Bln_Foreign Then
                        .Fields("Ycwb") = Dbl_Now(9)                                         '年初原币
                        .Fields("Qcwb") = Dbl_Now(9)                                         '期初原币
                        .Fields("Mjwb") = Dbl_Now(10)                                        '本月借方原币合计
                        .Fields("Mdwb") = Dbl_Now(11)                                        '本月贷方原币合计
                        .Fields("Byjfljwb") = Dbl_Now(10)                                    '本月借方原币合计
                        .Fields("Bydfljwb") = Dbl_Now(11)                                    '本月贷方原币合计
                        .Fields("Qmwb") = Dbl_Now(12)                                        '期末原币
                    Else
                        .Fields("Ycwb") = Dbl_Now(1)                                         '年初原币
                        .Fields("Qcwb") = Dbl_Now(1)                                         '期初原币
                        .Fields("Mjwb") = Dbl_Now(2)                                         '本月借方原币合计
                        .Fields("Mdwb") = Dbl_Now(3)                                         '本月贷方原币合计
                        .Fields("Byjfljwb") = Dbl_Now(2)                                     '本月借方原币合计
                        .Fields("Bydfljwb") = Dbl_Now(3)                                     '本月贷方原币合计
                        .Fields("Qmwb") = Dbl_Now(4)                                         '期末原币
                    End If
                End If
                
                .Update
                
                '添加并更新其他会计期间数据(按12个会计期间)
                For Int_PeriodTe = 1 To 12
                    If Int_PeriodTe <> 1 Then
                        Sqlstr = "Insert Into Cwzz_AccSum (Ccode,Year,Period) values ('" & Str_Parent & "'," & Int_OriYear & "," & Int_PeriodTe & ")"
                        Cw_DataEnvi.DataConnect.Execute (Sqlstr)
                    End If
                Next Int_PeriodTe
                
                Sqlstr = "Update Cwzz_AccSum Set Ycye=" & .Fields("Ycye") & ",Qcye=" & .Fields("Qmye") & ",Byjfljje=" & .Fields("Byjfljje") & ",Bydfljje=" & .Fields("Bydfljje") & ",Qmye=" & .Fields("Qmye") & _
                ",Ycsl=" & .Fields("Ycsl") & ",Qcsl=" & .Fields("Qmsl") + 0 & ",Byjfljsl=" & .Fields("Byjfljsl") + 0 & ",Bydfljsl=" & .Fields("Bydfljsl") + 0 & ",Qmsl=" & .Fields("Qmsl") + 0 & _
                ",Ycwb=" & .Fields("Ycwb") & ",Qcwb=" & .Fields("Qmwb") + 0 & ",Byjfljwb=" & .Fields("Byjfljwb") + 0 & ",Bydfljwb=" & .Fields("Bydfljwb") + 0 & ",Qmwb=" & .Fields("Qmwb") + 0 & _
                " Where Ccode='" & Str_Parent & "' And Year=" & Int_OriYear & " And Period >1"
                Cw_DataEnvi.DataConnect.Execute (Sqlstr)
                
            End If
            
        End With
        
        If Str_Parent = Str_Ccode Then
            Exit Do
        End If
        
        Int_LevTe = Int_LevTe + 1
        
    Loop
    
    Cw_DataEnvi.DataConnect.CommitTrans
    
    
    '刷新相应网格数据
    Int_LevTe = 1
    
    Do While True
        Str_Parent = Trim(Mid(Str_Ccode, 1, Int_CodeScheme(Int_LevTe)))
        
        If Str_Parent = Str_Ccode Then
            Exit Do
        End If
        
        With RecTemp
            
            Sqlstr = "SELECT Cwzz_AccSum.* From Cwzz_AccSum WHERE Ccode='" & Str_Parent & "' And Year =" & Int_OriYear & " AND Period = 1"
            
            Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
            
            If Not RecTemp.EOF Then
                Lng_GridRow = WglrGrid.FindRow(Str_Parent, , Sydz("001", GridStr(), Szzls))
                If Lng_GridRow <> -1 Then
                    
                    If RecTemp.Fields("Ycye") <> 0 Then                                                           '年初余额
                        If WglrGrid.TextMatrix(Lng_GridRow, Sydz("005", GridStr(), Szzls)) = "借" Then
                            WglrGrid.TextMatrix(Lng_GridRow, Sydz("006", GridStr(), Szzls)) = RecTemp.Fields("Ycye")
                        Else
                            WglrGrid.TextMatrix(Lng_GridRow, Sydz("006", GridStr(), Szzls)) = -RecTemp.Fields("Ycye")
                        End If
                    Else
                        WglrGrid.TextMatrix(Lng_GridRow, Sydz("006", GridStr(), Szzls)) = ""
                    End If
                    If RecTemp.Fields("Byjfljje") <> 0 Then
                        WglrGrid.TextMatrix(Lng_GridRow, Sydz("007", GridStr(), Szzls)) = RecTemp.Fields("Byjfljje")   '本年借方累计本币金额
                    Else
                        WglrGrid.TextMatrix(Lng_GridRow, Sydz("007", GridStr(), Szzls)) = ""
                    End If
                    
                    If RecTemp.Fields("Bydfljje") <> 0 Then
                        WglrGrid.TextMatrix(Lng_GridRow, Sydz("008", GridStr(), Szzls)) = RecTemp.Fields("Bydfljje")   '本年贷方累计本币金额
                    Else
                        WglrGrid.TextMatrix(Lng_GridRow, Sydz("008", GridStr(), Szzls)) = ""
                    End If
                    
                    If RecTemp.Fields("Qmye") <> 0 Then
                        If WglrGrid.TextMatrix(Lng_GridRow, Sydz("005", GridStr(), Szzls)) = "借" Then
                            WglrGrid.TextMatrix(Lng_GridRow, Sydz("009", GridStr(), Szzls)) = RecTemp.Fields("Qmye")
                        Else
                            WglrGrid.TextMatrix(Lng_GridRow, Sydz("009", GridStr(), Szzls)) = -RecTemp.Fields("Qmye")
                        End If
                    Else
                        WglrGrid.TextMatrix(Lng_GridRow, Sydz("009", GridStr(), Szzls)) = ""
                    End If
                    
                End If
                
            End If
            
        End With
        
        Int_LevTe = Int_LevTe + 1
        
    Loop
    
    '<<]
    
    '以上为自定义部分]
    
    
    Sjhzyxxpd = True
    Hyxxpdlock = True
    Exit Function
    
Swcwcl:
    Cw_DataEnvi.DataConnect.RollbackTrans
    Tsxx = "存盘过程中出现未知错误,程序自动恢复保存前状态!"
    Call Xtxxts(Tsxx, 0, 1)
    Exit Function
    
Lrcwcl:      '录入错误处理
    With WglrGrid
        Call Xtxxts(Tsxx, 0, 1)
        changelock = True
        .Select Yxxpdh, Lrywlz
        changelock = False
        Call xswbk
        
        Sjhzyxxpd 

⌨️ 快捷键说明

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